System and method for creation, distribution and tracking of advertising via electronic networks

ABSTRACT

A system and method for creation, distribution and tracking of advertising via electronic networks, enabling creation of advertisements using licensed third-party content and placement of the ads at desired network locations, utilizing an auction of ad spaces based on bids placed by advertisers to have their ads displayed at such locations. When a network user/ad viewer requests an ad by clicking or other action, an auction algorithm executes to select the ad to be displayed from those that bid for display at such ad space location and then the ad is composed and delivered to the ad space location by accessing a relational database storing commands that retrieve, assemble and dispatch the licensed ad content. Usage and display of licensed content on designated ad space is tracked to enable cost-per-use charging for both use of licensed content and ad display at the designated ad space.

CONTINUITY/PRIORITY INFORMATION

This application is a continuation of copending U.S. Nonprovisionalpatent application Ser. No. 17/316,499 filed on May 10, 2021, which inturn is a continuation of U.S. Nonprovisional patent application Ser.No. 12/384,403 filed on Apr. 4, 2009 now U.S. Pat. No. 11,004,090, whichis a continuation-in-part of U.S. Nonprovisional patent application Ser.No. 11/803,779 filed on May 16, 2007 now U.S. Pat. No. 10,380,602, whichin turn is a continuation-in-part of U.S. Nonprovisional patentapplication Ser. No. 11/643,245 filed on Dec. 21, 2006 now U.S. Pat. No.10,380,597, which is based upon and claims priority back to U.S.Provisional Patent Application Ser. No. 60/753,536 filed on Dec. 24,2005, the entirety of each of which is incorporated herein by reference.

The benefit of the earlier filing date of copending U.S. Nonprovisionalpatent application Ser. No. 17/316,499 filed on May 10, 2021 is claimedpursuant to 35 U.S.C. Section 120; the benefit of the earlier filingdate of Nonprovisional patent application Ser. No. 12/384,403 filed onApr. 4, 2009 is claimed pursuant to 35 U.S.C. Section 120; the benefitof the earlier filing date of Nonprovisional patent application Ser. No.11/803,779 filed on May 16, 2007 is claimed pursuant to 35 U.S.C.Section 120; the benefit of the earlier filing date of co-pendingNonprovisional patent application Ser. No. 11/643,245 filed on Dec. 21,2006 is claimed pursuant to 35 U.S.C. Section 120; and the benefit ofthe earlier filing date of provisional patent application Ser. No.60/753,536 filed on Dec. 24, 2005 is claimed pursuant to 35 U.S.C.Section 119(e).

Nonprovisional patent application Ser. No. 12/384,403 filed on Apr. 4,2009 is also a continuation-in-part of Nonprovisional patent applicationSer. No. 12/316,781 filed on Dec. 16, 2008, the entirety of which isincorporated herein by reference, and the benefit of the earlier filingdates of which is claimed.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND OF THE INVENTION

A. Technical Field

The present invention relates generally to methods and systems forcreation and distribution of advertising, promotional and informationalelectronic communications regarding products and services via computerand communication networks, and displaying same at desired locations.More specifically, the present invention is a system and method forcreation of electronic advertisements using digital content madeavailable for licensing, and placing the ads at desired networklocations utilizing an auction of designated advertising space atdesired locations on a network. The system can be used to provide an adcontent as well as an ad space exchange for content licensors,advertisers and ad publishers, including barter-based implementations.

B. Background

Advertisers seeking the global reach of the Internet and otherelectronic networks as an effective and efficient medium fordisseminating advertisements to consumers have had to deal with variouslimitations in technology and methods. From the advertiser'sperspective, there are two main tasks to accomplish: 1) creation of aneffective ad; and 2) effective placement of the ad. From the adpublisher's perspective there are also two main tasks to accomplish: 1)display of the highest revenue-producing ads; and 2) reducing the amountof work necessary to place, maintain, track and process payments foradvertising. The creation of electronic advertising content can be anexpensive task for those that take the traditional route of eithercreating content internally or engaging a third party contractor tocreate same. While there are sources of pre-existing electronic contentthat can be used in exchange for payment of a fee, because of contentprovider system limitations in the ability to track usage activity withrespect to the content, usually the fee is a flat fee payable up front,which makes the use of such content an expense that users must incurbeforehand. This method does not allow for optimization of return oninvestment, or “ROI,” with respect to ads based on real-time adresponse, because if the advertising content is not working effectively,to change the content would mean losing all invested in the purchase ofthat content. This also can result in content licensors not maximizingthe revenues generated from their content.

Effective placement of an ad is crucial for success of any ad campaign.The ad must reach the proper audience and as large an audience aspossible in order to maximize the effectiveness of the ad in generatingbusiness for the advertiser. Ad display space costs money as well, andadvertisers therefore need to make sure that the display locations theyselect for their ads produce an acceptable ROI to be worthwhile. In thecase of the Internet, which is dominated by a large number of personaland special interest websites with relatively low traffic, a simplemethod for publishers to place advertising on their web sites foroptimal return is necessary. Internet advertising charging methodsinclude the pre-pay or billed cost-per-impression, or “CPM,” orcost-per-click, or “CPC,” models, wherein advertisers pay publishers toplace their advertisements on a website according to the number ofimpressions served, or click actions taken on the advertisement. Usuallythese transactions are done through a third party agency who receivescommissions based on a percentage agency discount offered by thepublisher.

SUMMARY OF THE INVENTION

The present invention is a system and method for creating electronicadvertisements using licensed digital content, and distributing suchadvertisements for display at desired network locations, including onmultiple networks (such as, without limitation, computer networks suchas the Internet as well as cellular, wireless, cable, satellite andother networks), whereby the ad to be displayed at a particular networklocation is selected from a group of ads that reference the same keywordor category and network location via an auction when the displaylocation is acted upon by a network user/ad viewer. The digital contentis delivered to designated advertising locations on the network andbecomes part of an advertising display composed at the time requested bythe network user/ad viewer by using a relational database for storingdata required for commands that execute retrieval, assembly anddispatching of the licensed digital content files previously stored inone or more servers, as well as messaging, tracking, display, andbilling for both use of the licensed content and display of the ad atthe designated location on a cost-per-use basis. Third parties that maketheir digital content available for licensing and the publishers thatdisplay the advertisements on their network locations are automaticallypaid via the system each time an ad is displayed using their content andad space, respectively. Ad publishers can participate in a barter-basedad exchange network wherein ad publishers can exchange advertisingimpressions/views in their publication (whether online or other) forimpressions/views of their advertisements via the network. The systemand method provides the ability for both publishers and advertisers tooptimize the benefits of creating and distributing advertisementselectronically, and manage and track every aspect of the advertisementcreation and distribution process.

The present invention provides ad publishers with the ability toautomatically accept placement of advertising at their network locationsby providing a display space module, or “billboard module” that can beeasily embedded at the network location where the ad will be displayed,such as, for example, on the ad publisher's web page(s) or, installed incellular phone or a variety of other network devices that displayadvertising. This “billboard module” is associated with categories orkeywords and communicates with a central dispatcher server that selectsadvertising and provides instructions to render the advertising in themodule.

The present invention allows advertisers to create their ownadvertisements and license quality third party digital content for usein creating their advertisements (and also for content creators andproviders to market their content) with payment for licensing of suchthird party content and ad distribution based on a cost-per-click,cost-per-impression or other pay-as-used scheme and with clicks/usage ofthe licensed ad content being accurately trackable. The advertisers canthen associate topic keywords with the ads and include a bid for thedisplay of the ad at desired network locations such as in specifiedareas of websites, search engines, portals or other network locationdisplay screens, in response to the “billboard module” being requestedor otherwise acted upon. An advertiser can first create a customadvertisement using both content licensed from third parties madeavailable for selection via the system, or use the advertiser's owncontent, with the instructions being stored in a database to execute andrun the created advertisement at a desired location of a website, searchengine or other network location when requested. The data stored in thedatabase file for the ad with the rest of the ad execution instructionsincludes the cost-per-click, cost-per-impression or other charge ratesfor the licensed content used in the ad, which is the amount that theadvertiser will be charged for using the licensed content each time thecontent is displayed to a user as part of the advertisement. The datastored in the database can also include the cost-per-click or otheramount that the advertiser “bids” for display of the advertisement atcertain locations on the web site, search engine user search resultsscreen, or other network location display screen when specified topickeywords are used as search queries. The system selects theadvertisement to display in a designated ad space by conducting areal-time auction based at least in part on the bids placed by theadvertisers for display of their ad at the location. The auction canalso be based at least in part on the parameters of the advertisements,including, but not limited to, click-through rate, ad space size,display region and ad type. The auction is conducted immediately uponthe request and initiation of the “billboard module” by a networkuser/ad viewer. If the advertisement is meant to display on a web page,the auction will begin when the web page containing the embeddedbillboard module is served. Like any page on the Internet, this page maybe requested in a variety ways, including entering a URL address in abrowser URL field, initiating a search by entering a specified searchterm in a search engine website, or clicking on the specified link,button or other symbol on any web advertising or content. In the case ofsearch engines, the auctioned ad space is preferably space on the userquery search results page other than in the actual search results list,which distinguishes the present invention's auction from those oftenused with respect to the preferred placement of advertiser listings insearch results listings. In fact, present invention's method ofauctioning ad space operates completely independently of any searchengine query operation; the auction of ad space can be implemented withrespect to any ad space, not just space on a search engine screen. Also,ads may be displayed after a search query that have no directrelationship to the search query keywords, making it possible forpublishers to display second generation relevant ads. For example, whensomeone searches for bathing suits, an ad may appear for a diet product,because the ad module on the search result page contained “diet” as atopic keyword. The module may be placed in cell phones or physicalelectronic billboards presenting advertising as a result of auctionsinitiated at certain times of the day or when a phone is opened, orbased on other customizable parameters. This also can prevent publishersfrom running advertisements of their competitors, which is somethingthat was not accomplishable under current keyword advertising systems.

The auction comparison can take into a account various customizableparameters to select the ad to be displayed at a designated location,including without limitation, topic keywords, categories, theadvertisers' CPC/CPM bids and the ads' click-through, as well as thecost-per-click, cost-per-impression or other cost-per-use license feefor the licensed content comprising the ad. Actual ad parameters such asad size, ad type, geographic display region, click-through rate andother parameters can also be used in the auction to select the ad to bedisplayed.

The system's relational database, housed preferably in a dispatcherserver, contains data files with the parameters and executioninstructions for ads, and each ad parameter file has a uniqueidentifier. The advertising space module or “billboard module,” ispreferably of the .swf format, or .net, .asp, AJAX and consists of codeplaced at the ad display location that triggers ad file selectionauction and display of the selected ad when acted upon. The billboardmodule may be embedded as an object in a web page of a website, searchengine or other network location, or used in a self-contained device,such as a cellular phone or other mobile device or electronic billboard.When requested or otherwise acted upon by the viewer, the billboardmodule communicates with the remote dispatcher server where therelational database is located. The relational database has all theinformation necessary to run the auction of available advertisements andthen retrieve, assemble and present the advertising content of theauction winner to the viewer of the designated billboard module. Thebillboard module can contain instructions, including ad space sizelocation and keywords associated with the ad space and may display morethan one ad simultaneously or rotate different advertising in the samead space. The keywords associated with the advertising space may beentered into the billboard module in a variety of ways, includingmanually by a webmaster, or dynamically, such as when a search engineuser enters the keyword as a query, in which event the keyword is passedto the billboard module at the time the search is executed.

The present system provides publishers with an account where they canenter information including their preferred method of receiving payment,address, and other relevant information. Publishers are also providedthe opportunity to select ad size parameters, enter keywords or selectcategories to associate with their ad space. The system then generatesthe instructions and or the code necessary to embed a billboard moduleat the publisher's ad space. In the case of a website with searchfunctionality, instructions will be generated on embedding the module sosearch query words are automatically passed to the module. The publisheris also given an interface to view metadata associated with thebillboard module's activity, including clicks, impressions, and amountowed.

The present system provides advertisers with an account where they canenter instructions to select ad content from a variety of third partyowned digital media and put together an electronic ad. Here they canalso create customized advertising content and their advertisingcampaign by entering keywords to associate with the advertisement, thead display locations desired and the CPC/CPM bid for display of the adat such locations, regional targeting information or other parameters.Advertisers are also provided an account to deposit funds that is drawnupon based on their advertising activity. They are also provided aninterface where they can view real-time metadata on the advertisingcampaign activity, including clicks, views, and amount paid.

The system is intended to be used by advertisers to create and placeadvertisements on third party websites, search engines and other networklocations. The system's existence and operation is not apparent to enduser/consumer who is the intended viewer of the advertisements. Thesystem serves the advertisement files in addition to trackingimpressions and click through rates in real time while the advertisementruns.

The present invention, in a preferred embodiment, uses file serverdirect connection or “FSDC” technology to process ad viewer activitytracking data. This allows the system to send a tracking string withinformation (variables) received from the dispatcher server by the adfile directly to a tracking server. In a preferred embodiment, thetracking functions of the present invention are performed in a moreefficient manner than prior art systems. Instead of redirecting awebsite user's request as discussed above, when a network user views anadvertisement using the present invention and in response clicks orrequests a URL or other location address from the information provided,the network user is taken directly to the URL or other location ofinterest, while a query string is independently sent to the system'stracking server from the ad file. The performance of the tracking serveris not apparent to the network user and cannot affect the user. Thetracking data is more accurate and can represent several differentcustomizable parameters sent from the destination file viewed ratherthan merely counting the number of requests. Furthermore, the use ofindependent connection processes insures that the network user's systemand privacy is not further exposed to the tracking system. Within thecontext of server side data sharing, the present invention provides fastand efficient, predominantly one-way communication, without requiringstorage of any files on a network user's computer system. The system, byutilizing FSDC for tracking, directly establishes network connectionsbetween the ad file and the dispatcher server system where the trackingparameters and click-through destinations for advertisements are storedin the dispatcher server database by means of a single compiled filethat does not require an additional network communications system suchas a web browser or other supporting application. Specifically, anetwork connection is established to an encoded URL or other locationaddress, and information is delivered to the tracking server in the formof a query string. Differing from a typical browser, or other typicalnetwork enabling software systems, the communication link established bythe compiled file is predominantly one way and non-conversational.Impact on system resources is reduced as overhead support software isnot required. Likewise bandwidth is conserved and issues of privacy aremaintained as minimal information is exchanged without network userinteraction or storage of files on the user's computer memory.

The present invention improves over prior advertising systems andmethods in many ways. The present invention does not embed advertisingHTML, files within a web page, providing considerable economies toadvertisers in saved labor, time and cost in terms of both insertingadvertisements into web page files, and later changing any of thoseadvertisements. The present invention functions totally transparently toa network user and which neither inconveniences nor burdens the user.The present invention does not require a network user to download orinstall on the user's computer a separate application programspecifically to receive advertising or perform any affirmative act otherthan normal browsing to receive such advertising. The present inventionalso provides proper accounting to an advertiser, content licensor andad publisher by accurately and validly ascertaining and tracking userclick-throughs/impressions of fully rendered advertisements. The presentinvention also allows ad publishers to maximize the revenues an increaseeffectiveness they receive from running third party ads, by being ableto select for display (via the auction) the most profitable ads due tocost-per-click and click-through rate statistics. The present inventionallows advertisers to more accurately target their advertising on searchengine websites by separating the advertising auction process from thesearch engine process, allowing for second generation relevancy. Thepresent invention allows for optimization of advertising campaigns byallowing for real-time auctions for available advertising spots, takinginto account the amount of available advertising spots at the time ofthe action, optimizing the value of the advertising spot at the time itis requested, and by allowing for the assembly of advertising on the flyfor display on the network, and the ability to license quality digitalmedia creative files on a cost effective cost-per-use basis, and updatecampaign parameter and creative according to campaign results derived inreal time by FSDC tracking.

Additionally, for those advertisers that do not have an e-commercewebsite, the system allows them to create their own online e-commercecatalog and connect their product or catalog of products to theiradvertising. Users can then, when viewing the advertisement, access andreview the product/catalog information and select items for purchase.The system provides the online e-commerce functionality to allow usersto purchase and pay for the advertiser's products online, which is avaluable feature for those that do not have their own e-commercecapability, and provides a turnkey advertising and e-commerce system forusers, providing them with the ability to create professional lookinglarge display ads which are more effective in an easy and cost-efficientway.

The present invention can be used to implement a barter-basedadvertising exchange network where in ad publishers can exchangeadvertising impressions/views in their publication (whether online orother) for impressions/views of their own advertisements at third partypublisher network locations. The ad publishers preferably contributemore ad impression/views than they receive in exchange such that a poolor inventory of available impressions/views is available for selectionand use by participating ad publishers/advertisers. Ad content licensorscan also participate in barter transactions whereby they can bartertheir content in exchange for ad impressions/views for display of theirown ads at third party network locations or other barterable advertisingcommodities.

In one embodiment, the invention further includes a system and methodfor delivering and rendering the ad content automatically and only whenand/or to the extent that a pre-defined area of the ad content displaypage where the content is to be rendered, which is preferably thebillboard module location on the ad publisher display location on anelectronic network, is within the viewer's browser window dimensions andscrolling position, or within a pre-defined distance from the viewer'sbrowser window dimensions and scrolling position. As used herein, theterm “render” or “rendering” refers to the process of requesting andloading content so that it may be viewed, heard or otherwise perceivedby a viewer communicating electronically using a browser. Thepre-defined area, designated by the ad content display pageadministrator to trigger rendering, is referred to below as the “adcontent display page triggering area.” In a preferred embodiment, thepre-defined area of the ad content display page referred to as the “adcontent display page triggering area” is the designated ad contentdisplay page area where the content is to be rendered, which ispreferably the billboard module location on an ad publisher ad contentdisplay location. In other embodiments the ad content display pagetriggering area can be an area of the ad content display page other thanthe billboard module location area where the content will be rendered.The invention in this embodiment can be configured to trigger renderingof content in a designated billboard module ad content display pagerendering area when the pre-defined ad content display page triggeringarea is within the dimensions and scrolling position of a viewer'sbrowser window, or alternatively, when the pre-defined ad contentdisplay page triggering area is within a pre-defined distance outside ofthe viewer's browser screen dimensions and scrolling position. Theinvention in this embodiment further includes additional interfacefeatures, primarily for interaction with publishers (either additionalto the billboard module creation interface or included as part of suchinterface) for receiving, in addition to ad content display page addressand ad content file information (which may be in the form ofinstructions to retrieve one or more ad content files stored in acontent server or other storage device, which may be either part of thesystem-end components or remotely located components), the billboardmodule ad content display page rendering area and ad content displaypage triggering area parameters and other ad content display page datafrom ad content display page administrators for storing one or morerecords containing such data in a system server database, each recordbeing given an identification code. As with other embodiments of theinvention, a system software application generates a single tag based onsaid ad content display page data, and the tag is placed on the adcontent display page as the billboard module. The tag includes theidentification code for the corresponding record with ad content displaypage data stored in the system database and a link to a systemserver-side application. When a viewer requests the designated adcontent display page, the tag is activated and links to a systemserver-side application. The system server-side application thencollects data from the request, including, but not limited to, theaddress of the ad content display page and the viewer's network address(for example, the Internet Protocol address associated with a viewercomputer when the network is the Internet), and retrieves thecorresponding record containing ad content display page data stored inthe system server database, and generates code, preferably JavaScriptcode, referred to herein as a “correlator code,” which is written to orotherwise embedded on the ad content display page and interacts with theviewer's browser. The correlator code can be positioned anywhere on thead content display page, not necessarily the billboard module locationon the ad content display page where the particular content will berendered. The correlator code may also be placed directly on the webpage without the use of the server side application. A uniqueidentification code is then assigned to the particular viewer/browserwhich can be created by the correlator code itself, or can be created bythe system server-side software application and be retrieved fromcookies or from the system database. The correlator code collectsadditional information from the viewer's browser, including, withoutlimitation, the viewer's operating system and browser type/version, anda list of other content that was already rendered on the page to preventduplication of the same content on the ad content display page, amongother data and preferably also indexes the page for content and whetherthe browser window is open, minimized, or otherwise covered by anotherbrowser window or other application opened by a viewer. The correlatorcode in one embodiment dynamically generates HTML, code on the adcontent display page to be used as a marker for the ad content displaypage area where the content will be rendered. The marker may be HTMLcode or coordinates in the correlator code, or can be created by othermeans for creating a page area marker. The system correlator code thengenerates a query string link including the data collected via thecorrelator code and server-side application and the query string link isstored as a variable on the ad content display page. The correlator codeperiodically checks viewer browser screen coordinate data from theviewer's browser application with ad content display page coordinatesfor the pre-defined ad content display page triggering area (which maybe the same area as the billboard module content display page renderingarea), in addition to periodically checking whether the browser windowis open, minimized, or otherwise covered by another browser window orother application opened by a viewer. As a viewer scrolls through a adcontent display page (whether up and down or left and right) or theviewer's browser window dimensions change, the correlator codeperiodically checks data from the viewer's browser regarding theviewer's browser window scrolling position and dimensional coordinatesand when there is correspondence between the browser window dimensionaland scrolling position coordinates and the coordinates for the adcontent display page triggering area (which may be partialcorrespondence or full correspondence, or correspondence withcoordinates that are a pre-defined distance outside the viewer's browserdimensional and scrolling position coordinates), the query string linkis activated, activating the billboard module and the content isrendered in the designated ad content display page rendering area. Thebillboard module may be embedded on the page in a variety of ways,including but not limited to by the web publisher, or by the systemitself at the time the correlator code is written or otherwise embeddedon the page. The correlator code also records at the display page dataretrieved from the viewer's browser regarding the rendering of thecontent The correlator code is preferably JavaScript code, although theinvention is not limited to use of JavaScript; other scripting orcompiling languages can be used, such as, without limitation, JScript,ECMAScript or other scripting capable of generating code that determineswhether or not the specified ad content display page triggering area iswithin, or within a pre-defined distance outside of, the dimensions andscrolling position of a viewer's browser window. The correlator codecontains all of the necessary variables and functions to execute thecorrelation process described above in conjunction with the viewer'sbrowser. The correlator code is code delivered in the form of sourcecode that interprets and executes the script accordingly by the browserapplication of the viewer although it resides on the ad content displaypage itself. It is not an applet or other compiled file orself-executing software application. Content is only rendered on an adcontent display page to a viewer when and/or to the extent that thepre-defined ad content display page triggering area is within, or withina pre-defined distance outside of, the viewer's browser screendimensions and scrolling position. In a preferred embodiment, thepre-defined ad content display page triggering area is the area of thead content display page where the content is to be rendered, which isthe billboard module location on an ad publisher's site in a preferredembodiment, and content to be rendered in the pre-defined area of the adcontent display page is not rendered unless and until the particulararea of the ad content display page is within the viewer's browserscreen dimensions and scrolling position, or within a pre-defineddistance outside of the viewer's browser screen dimensions and scrollingposition. This embodiment of the present invention enables use ofbandwidth and other communications resources more effectively andefficiently.

Reports regarding the delivery and rendering of content can be generatedby the system for use by system users and third party content providersand content publishers (e.g., web pages) to better analyze theeffectiveness of their content distribution. Unlike other systems, theinvention in this embodiment enables precise and accurate accounting ofwhat content actually appears within in a viewer's browser windowdimensions and scrolling position area, in addition to whether thebrowser window is open, minimized, or otherwise covered by anotherbrowser window or other application opened by a viewer and enablesanalysis of content rendering activity with respect to particular areasof an ad publisher's ad content display page, i.e., which areas are mostactive with regard to content rendering to viewers, enabling effectivecontent placement page organization schemes and content placement feestructures based on rendering activity for the particular contentdisplay area of an ad content display page relative to other areas ofthe page and the viewer's browser window dimensions. In this embodiment,the invention gathers information to better deliver content loaded,including reach, frequency, viewer's geographic location, thedemographics of the viewership, keywords derived from the indexing ofpage content, among other data, allowing websites to effectively providecontent on their web pages on an as needed basis and then to utilize theinformation in myriad ways. With the invention in this embodiment,content placed in any designated ad publisher's web page area, includingbut not limited to, below the fold areas of a web page, can be loaded asneeded, and its usage/rendering can be reported and billed only if theviewer scrolls them into the available area of their browser window, andwhen response rates are calculated against the ads loaded and rendered.

The invention in this embodiment gives ad publishers, by specifying apredefined area on the ad content display page which, when itscoordinates correspond in a pre-defined manner with coordinates of theviewer's browser dimensions and scrolling position, triggers contentrendering at the ad content display page, the ability to provide toviewers of their pages a variety of content including promotions, videopromotions, advertising and third party network advertising on their webpages and deliver this content to the page when and/or only to theextent that the pre-defined ad content display page triggering area ofthe ad content display page is within, or within a pre-defined distanceoutside of, the then current dimensions and scrolling position of theviewer's browser window. The invention, in this embodiment, may thentrigger several actions, including an indicator to show the viewer orsystem users that the ad content is rendered and available, and reportwith accuracy whether or to what extent the ad content display page areawhere particular ad content is to be rendered, which is the billboardmodule location in the ad publisher's ad content display page in apreferred embodiment, is within the available area of viewer's browserwindow, for how long the ad content was available to trigger furtheraction, considering whether the browser window where the content isrendered is open, minimized, or otherwise covered by another browserwindow or other application opened by a viewer, how many unique viewerswere presented the ad content (reach), the amount of times each uniqueviewer was presented the ad content (frequency) the general geographiclocation of the viewer, the browser version used by the viewer, whatactions were taken on the advertisement in the form of clicks, the clickrate in relation to the number of views, and other meta data in relationto the rendered content. The ad content can be successively renderedautomatically to the viewer as the viewer scrolls through an ad contentdisplay page, with the effects of instant rendering attracting theattention of the viewer.

The invention in this embodiment also allows ad publishers (e.g., adcontent display page administrators), to generate accurate reports toanalyze ads on their pages according to different areas of their adcontent display pages and how they relate to the available areas ofviewer's browser windows, enabling accurate accounting and reporting ofad content rendering and viewer ad content display page viewing andscrolling characteristics, providing insights as to what display areasof a content display site are most effective for ad content display. Thereports consist of accurate data of their pages, and how often theybecome available to a viewer within their browser window. Ad contentdisplay pages are, in one embodiment, divided into four areas, top,above the fold, below the fold, and bottom, although further division isprogrammable as desired. The data for each area is based on thecollected rendering activity data from the rendering of ad content inthe specified area of the ad content display page.

In a preferred embodiment, the computer and communications network isthe Internet, the content display sites and pages websites and webpages, and ad content display page administrators may be web pageadministrators, but this embodiment of the present invention is notlimited to any particular communications network or content displaysite. The content can be stored at a network location other than thecontent display site server, such as, for example, one or more contentfile servers, which can be remotely located, with the instructions beingstored in the system database to execute and render the content at thespecified rendering area on a ad content display page when requested.

This embodiment of the present invention allows content display pageadministrators to divide their content display site pages into one ormore content rendering areas. Ad publishers, as ad content display pageadministrators, interact with the system to designate such contentrendering areas, specifying their position and size and designating thebillboard modules and/or content files to be located and/or renderedthereat. The system processes the specified information and provides aJavaScript tag that includes the identification code for the systemserver database record storing the ad content display page informationprovided by the ad content display page administrator and includes alink to a system server-side application at the system server. When theviewer requests the particular ad content display page, the JavaScripttag links to the system server-side application and the systemserver-side application retrieves data from the viewer's request as wellas the record with data for the particular ad content display page andgenerates code, referred to as a “correlator code” which is preferablyJavaScript code, that dynamically creates a marker for the ad contentdisplay page area, and also correlates the pre-defined ad contentdisplay page triggering area with viewer browser window scrollingposition and dimensions, and the correlator code generates a querystring link which is stored as a variable on the ad content displaypage, including data collected from the viewer's browser via thecorrelator code. The marker may be HTML, code or coordinates in thecorrelator code, or can be created by other means for creating a pagearea marker. As the viewer scrolls through the ad content display page,the correlator code determines whether the browser scrolling positionand dimensional coordinates correspond with ad content display pagecoordinates for the pre-defined ad content display page triggering areaon the ad content display page, (which may be the area on the ad contentdisplay page where the billboard module is located, which is where thecontent is to be rendered or any other pre-defined area of the adcontent display page) and when browser window and the pre-defined adcontent display page triggering area's coordinates correspond (thecorrespondence can be customized and pre-defined as well, and can bepartial correspondence, full correspondence or correspondence withcoordinates that are a pre-defined distance outside of the viewer'sbrowser window dimensional and scrolling position coordinates), thequery string link stored on the page is triggered, activating thebillboard module, and the real time auction is conducted to select abidding advertiser's ad parameter and command file at the dispatcherserver for rendering at the designated billboard module location at thead content display page, and the content designated for rendering at orin relation to such billboard module ad content display page area isretrieved, assembled and rendered in the designated billboard module adcontent display page rendering area. The specified content is renderedonly if and when such pre-defined content triggering area, which can bethe same as the content rendering area, is determined by the correlatorcode to be within, or within a pre-defined distance outside of, thedimensions and scrolling position of the viewer's browser window. Whenthe pre-defined ad content display page triggering area is the areawhere the content is to be rendered, i.e., the billboard module locationon the ad publisher's ad content display page, the content is renderedonly when and/or to the extent that the billboard module area of the adcontent display page where the content is to be rendered is within, orwithin a pre-defined distance outside of, the dimensions and scrollingposition of the viewer's browser window.

As with other embodiments of the present invention, the system databasestoring the records with ad content display page data is preferably arelational database, housed preferably in a system-end server,preferably the system dispatcher server. Each such record has a uniqueidentifier. The system server-side software application contains allcode that is necessary to communicate with the system server database aswell as with the ad publishers and their ad content display pages andgenerate the correlator code which is written to or otherwise embeddedon the ad content display page and interacts with the viewer's browserto control the triggering of billboard modules, content requesting andrendering when the billboard module display page area where the contentis to be rendered is within, or within a pre-defined distance outsideof, the dimensions and scrolling position of a viewer's browser window.The JavaScript tag placed on the ad content display page for theparticular content rendering area consists of a tag placed somewhere onthe ad content display page containing a link to the system server-sidesoftware application and an encrypted ID for the applicable contentrendering area record stored at the system database located preferablyat the system server. When a viewer requests the particular ad contentdisplay page, the request activates the link to the system server-sideapplication, which retrieves the record with data corresponding to theencrypted id for such record and retrieves viewer data from the httprequest itself. The system server-side application generates the customcorrelator code to be written to or otherwise embedded on the ad contentdisplay page. The correlator code then creates a marker for the adcontent display page area where the content will be rendered. The markermay be HTML code or coordinates in the correlator code, or can becreated by other means for creating a page area marker. The correlatorcode collects additional information from the viewer's browser, whichmay include information regarding the viewer's computer system, browsertype/version, and information regarding content that has previously beenrendered on the ad content display page to prevent duplication ofcontent on the page, among other data, and also collects and indexesdata pertaining to text on the ad content display page. A uniqueidentification code is then assigned to the particular viewer/browser,which can be created by the correlator code itself or can be created bythe system server side software applications and be retrieved fromcookies or from the system database. The correlator code creates a querystring link with the information collected by the correlator codeattached thereto and the query string link is stored as a variable onthe ad content display page. When the pre-defined ad content displaypage triggering area is within, or within a pre-defined distance outsideof, the dimensions and scrolling position of the viewer's browserscreen, the correlator code triggers the query string link that isstored on the page and activates the billboard module. Then thebillboard module establishes communication with a separate ad dispatcherserver database, which selects an ad/content record to render in thebillboard. The instructions in the record are retrieved by the billboardmodule and the content is rendered in the designated billboard modulewithin content display page rendering area. The correlator JavaScriptcode on the ad content display page contains the variables and commandsto continuously determine what ad content display page area(s) is/arewithin, or within a pre-defined distance outside of, the dimensions andscrolling position of the viewer's browser, including whether thebrowser window where the content is rendered is open, minimized, orotherwise covered by another browser window or other application openedby a viewer. The correlator code establishes continuous communicationwith the billboard module. The information gathered can be sent back toany server for tracking and reporting via the billboard module usingFSDC. The billboard module may also cease rendering or send additionalrequests to the ad dispatcher server to select a new ad/content torender in the billboard module, say if the billboard was in view for apre-determined period of time, or has been scrolled outside the viewer'sbrowser window dimensions.

BRIEF DESCRIPTION OF THE DRAWINGS

All of the figures depict preferred embodiments although otherembodiments are contemplated and the present invention is not limited tothe embodiments shown.

FIG. 1 is diagrammatical overview of the communication flow of thepresent invention.

FIG. 2 is a diagrammatical representation of system components and theirinterrelationship.

FIG. 3 is a diagrammatical overview of the relationship among systemservers and website viewers.

FIG. 4 depicts a sample system dispatcher server database parameterfile.

FIG. 5 is a flow chart depicting the pay-per-use content licensingprocess flow.

FIG. 6 is a flow chart depicting the ad spot-auction process flow.

FIG. 7 depicts a sample system user registration screen.

FIG. 8 depicts a sample system user log-in screen.

FIG. 9 depicts a sample initial advertisement creation input screen.

FIG. 10 depicts a sample advertisement click destination input screen.

FIG. 11 depicts a sample system user ad size selection screen.

FIG. 12 depicts a sample system advertisement creative content catalogand selection screen.

FIG. 13 depicts a sample system ad text and messaging input screen.

FIG. 14 depicts a sample system ad preview and save screen.

FIG. 15 depicts a sample system geographic region designation screen.

FIG. 16 depicts a sample ad payment option selection screen.

FIG. 17 depicts a sample keyword and maximum bid data input screen.

FIG. 18 depicts a sample ad placement plan budget input screen.

FIG. 19 depicts a sample target category selection screen.

FIG. 20 depicts a sample ad budget data input screen.

FIG. 21 depicts a sample ad payment data input screen.

FIG. 22 depicts a sample ad publisher website registration screen.

FIG. 23 depicts a sample ad publisher billboard identification screen.

FIG. 24 depicts a sample billboard advertising program selection screen.

FIG. 25 depicts a sample ad publisher billboard size selection screen.

FIG. 26 depicts a sample billboard module customization selectionscreen.

FIG. 27 depicts a sample ad publisher billboard target categoryselection screen.

FIG. 28 depicts a sample ad publisher billboard code copying screen.

FIG. 29 depicts a sample skip/destination URL input screen, for use whenbillboard is created for an interstitial ad.

FIG. 30 depicts a sample interstitial ad/billboard URL copying screen.

FIG. 31 depicts a sample ad publisher billboard location within an adpublisher web page, showing billboard module placement at top bar.

FIG. 32 depicts a sample rendered ad in an ad publisher search engineweb page screen.

FIG. 33 depicts a sample ad parameter data base listing showing multiplead parameter files.

FIG. 34 depicts a sample ad campaign statistics screen with dataregarding performance of ads and budget consumption.

FIG. 35 depicts a sample single ad statistics screen.

FIG. 36 describes the system process flow in an embodiment wherein thebillboard module is embedded in an informational website.

FIG. 37 describes the system process flow in an embodiment wherein thebillboard module is embedded in a search engine screen.

FIG. 38 describes the system process flow in an embodiment wherein thebillboard module is embedded in a mobile device such as a cellularphone.

FIG. 39 describes the system process flow in an embodiment wherein thebillboard module is embedded in an electronic billboard.

FIG. 40 depicts a sample system user screen for posting product cataloginformation in the system, enabling advertisement viewers to purchasethe advertiser's product/service via the system e-commercefunctionality.

FIG. 41 depicts a sample system screen showing products posted byadvertisers for sale via the system.

FIG. 42 depicts a sample product information and selection page.

FIG. 43 shows a sample check-out and payment screen used in thee-commerce functionality provided to advertisers that do not have theirown e-commerce capability.

FIG. 44 depicts a sample system screen for the ad exchange feature ofthe system.

FIG. 45 depicts a sample system screen for participants in the system'sad exchange program to specify the identification parameters for adspace to be made available on the participant's network location forplacement of other participants' ads.

FIG. 46 depicts a sample screen for participants in the system's adexchange program to specify size parameters for the ad space to be madeavailable on the participants network location for placement of otherparticipants' ads.

FIG. 47 depicts a sample system screen for participants in the system'sad exchange program to customize the appearance of the ad space to bemade available on the participant's network location for placement ofother participants' ads.

FIG. 48 depicts a sample system screen for participants in the system'sad exchange program to select the advertisement for said participant'sown products/services to be placed at third party network locations inexchange for the ad space contributed by said participant.

FIG. 49 depicts a sample system screen for participants in the system'sad exchange program to select target categories to be associated withthe ad space on said participant's network location contributed to saidprogram by said participant.

FIG. 50 depicts a sample system screen for participants in the system'sad exchange program to receive and copy ad space code to be placed insaid participant's own network location to run ads placed by otherprogram participants.

FIG. 51 is a diagrammatical overview of the interplay and overlap of aviewer's screen display area, browser application, browser window and adcontent display page.

FIG. 52 is a diagrammatical representation of system components andtheir interrelationship with ad publishers as ad content display pageadministrators, viewers and communications network(s) in an embodimentincluding the content rendering control feature of the presentinvention.

FIG. 53 is a diagrammatical overview of the communication flow amongsystem components, ad content display page administrators and websiteviewers in an embodiment including the content rendering control featureof the present invention.

FIG. 54 -A is a process flow diagram showing the process flow of thepresent invention in an embodiment including the content renderingcontrol feature of the present invention.

FIG. 54 -B is a continuation of a process flow diagram showing theprocess flow of the present invention in an embodiment including thecontent rendering control feature of the present invention.

FIG. 54 -C is a continuation of a process flow diagram showing theprocess flow of the present invention in an embodiment including thecontent rendering control feature of the present invention.

FIG. 55 depicts communication flow between system components of thepresent invention.

FIG. 56 depicts a sample system ad publisher content site administratoruser registration screen in an embodiment including the contentrendering control feature of the present invention.

FIG. 57 depicts a sample system ad publisher content site administratoruser login screen in an embodiment including the content renderingcontrol feature of the present invention.

FIG. 58 depicts a sample system user site registration screen showingdata entry relating to ad content display page title, uniform resourcelocator address and optional logo image in an embodiment including thecontent rendering control feature of the present invention.

FIG. 59 depicts a sample user registration screen whereby ad publisherad content display page administrators enter their ad content displaypage's primary audience geographic location in an embodiment includingthe content rendering control feature of the present invention.

FIG. 60 depicts a sample user registration screen whereby ad publisherad content display page administrators enter their ad content displaypage's content type in an embodiment including the content renderingcontrol feature of the present invention.

FIG. 61 depicts a sample user registration screen whereby ad publisherad content display page administrators enter their ad content displaypage audience demographic data in an embodiment including the contentrendering control feature of the present invention.

FIG. 62 depicts a sample ad content display page registrationconfirmation screen in an embodiment including the content renderingcontrol feature of the present invention.

FIG. 63 depicts a sample ad content display page rendering area creationscreen in an embodiment including the content rendering control featureof the present invention.

FIG. 64 depicts a sample ad content display page rendering areadimension selection screen in an embodiment including the contentrendering control feature of the present invention.

FIG. 65 depicts a sample ad content display page rendering areadimension specification screen in an embodiment including the contentrendering control feature of the present invention.

FIG. 66 depicts a sample screen wherein a JavaScript tag with link tothe system server-side application is generated for ad publisher adcontent display page administrators to copy and paste into the page codeof the ad content display page in which the designated ad contentdisplay page rendering area resides in an embodiment including thecontent rendering control feature of the present invention.

FIG. 67 depicts a sample ad content display page with the contentrendering area of the ad content display page located below the viewer'sbrowser window dimensions and scrolling position, noted by an ovalindicator in an embodiment including the content rendering controlfeature of the present invention.

FIG. 68 depicts a sample ad content display page with the contentrendering area entering the viewer's browser window dimensions andscrolling position, noted by an oval indicator in an embodimentincluding the content rendering control feature of the presentinvention.

FIG. 69 depicts a sample ad content display page with the contentrendering area fully within the viewer's browser window dimensions andscrolling position in an embodiment including the content renderingcontrol feature of the present invention.

FIG. 70 depicts a sample ad content display page with the contentrendered and an indicator showing the time that the content has beenrendered in an embodiment including the content rendering controlfeature of the present invention.

FIG. 71 depicts a sample ad content display page with the contentrendering area partially outside of the viewer's browser windowdimensions and scrolling position in an embodiment including the contentrendering control feature of the present invention.

FIG. 72 depicts a sample system ad content display page data reportscreen in an embodiment including the content rendering control featureof the present invention.

FIG. 73 depicts a sample system content rendering area data reportscreen in an embodiment including the content rendering control featureof the present invention.

FIG. 74 depicts a sample system content rendering area activity reportscreen in an embodiment including the content rendering control featureof the present invention.

FIG. 75 depicts a sample system content rendering area data reportscreen in an embodiment including the content rendering control featureof the present invention.

FIG. 76 depicts a sample system content rendering activity report screenin an embodiment including the content rendering control feature of thepresent invention.

FIG. 77 depicts a sample system viewer browser type data report screenin an embodiment including the content rendering control feature of thepresent invention.

FIG. 78 depicts a sample system viewer geographic location report screenin an embodiment including the content rendering control feature of thepresent invention.

FIG. 79 depicts a sample content rendering area activity report screenin an embodiment including the content rendering control feature of thepresent invention.

FIG. 80 depicts a sample content rendering time data report screen in anembodiment including the content rendering control feature of thepresent invention.

FIG. 81 depicts a sample ad content display page using the system todetermine viewer browser screen dimensions and scrolling position toprovide scaled rendering of content in an embodiment including thecontent rendering control feature of the present invention.

FIG. 82 depicts a sample ad content display page showing contentrendered scaled to a predefined size in relation to the viewer's browserwindow dimensions and scrolling position in an embodiment including thecontent rendering control feature of the present invention.

FIG. 83 depicts a sample ad content display page showing contentre-rendered and re-scaled to a predefined size in relation to modifiedviewer browser window dimensions and/or scrolling position in anembodiment including the content rendering control feature of thepresent invention.

DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

According to a preferred embodiment hereof, the present invention is anall inclusive electronic advertising network system and method,including means for advertisers to create advertisements using licenseddigital content on a cost-per-use basis, and means for distributing saidadvertisements via a “billboard module” and a dispatcher serverautomatically conducting a real-time auction to select an ad for displaywhenever a billboard module on the network is requested by a networkuser/ad viewer. When the billboard module is requested at a networklocation it communicates with the relational database using the protocolappropriate for the particular network. At this time the auction takesplace, first finding all of the ad parameter files in the database forthe ads waiting for display that reference the same billboard moduleassociated keywords or categories and other information passed from thebillboard module, then using an algorithm to determine which ad (s) willultimately be displayed in the ad space. Once the winning ad of theauction is determined, the ad is displayed within the designatedbillboard module according to the instructions in the relationaldatabase file for the ad. This file stores data required for commandsthat execute assembly, retrieval of selected digital media filespreviously stored in electronic format in one or more servers, as wellas ad viewer tracking data, billing for licensed digital media and fordisplay of the ad at the designated location, as well as where to directthe viewer of the ad, such as, in web implementations, to the desireddestination website page relating to said advertisement, if the viewerdesires to obtain more information regarding the advertisement, or tothe next or previous designated web page or other network location. Therelational database containing the ad placement parameters is stored inan ad dispatcher server which can be separate from the database andserver providing the actual ad and digital media files. The real-timeauction to select the ad to be displayed can be based on the advertiserbids or the advertisement parameters of the advertisements, such as,without limitation: click-through rate, ad space size, display regionand ad type, or a combination of such parameters and bids. In apreferred embodiment, the triggering of the billboard module iscontrolled by a control mechanism based on whether the billboard moduledisplay location area on the ad publisher's ad content display page iswithin the dimensions and scrolling position of the viewer's browserwindow, or within a pre-defined distance from the viewer's browserwindow dimensions and scrolling position.

The system of the present invention in a preferred embodiment comprises:a system-end computer equipped and configured for Internet or othernetwork communications, including a dispatcher server including an adparameter and command file database, and one or more softwareapplications to execute a real-time auction to select an ad to bedisplayed at a particular network location; and also including computerprocessing means and one or more Internet or other networkcommunications interface software applications for interfacing withsystem advertisers, providing a menu screen for advertisers to enterinstructions for the creation of an ad, including messaging to beincluded in the ad, selection of an ad template, selection of digitalcontent for the ad which may be licensed from third parties, and an areato enter instructions for an ad campaign, including selection of addisplay locations, entry of cost-per-click bids for display of the adsand keywords or categories to be associated with the ad, and creating adata file in said dispatcher server database that contains parametersand commands to be used by the billboard module to provide access tosaid template advertisement file, licensed digital content, messaging,as well as the total cost-per-use of the licensed digital media files,the keywords/categories the ad will be associated, the network locationswhere the ad will be displayed and the advertiser's bid for display ofthe ad at the desired location; one or more content servers configuredand equipped for Internet or other network communications communicatingwith said system-end dispatcher server and network user/ad viewer-endcomputer systems and having one or more digital content files storedthereon; an ad publisher interface communicating with one or more adpublisher end computers configured and equipped for Internet or othernetwork communications and also providing a menu screen for adpublishers to enter registration information, select categories orkeywords to associate with their ad spaces and provide instructions toembed or install any number of “billboard modules” on their ad spaces.When activated/initiated, said billboard modules establishcommunications with the dispatcher server, causing a real-time auctionto be executed for all advertisements in the dispatcher database withlike parameters (e.g., the same keywords, categories and geographicalregion) and selecting one or more advertisements for display at thebillboard module location based on the advertisers' bid for same orbased on the advertisement parameters, including, but not limited to,click-through rate, ad space size, display region and ad type, or acombination of such parameters and bids, and then causing the selectedad to be displayed at the module by executing the instructions for theselected ad stored in the ad parameter/command file in the dispatcherserver; said one or more ad publisher computers communicating with oneor more network user/ad viewer-end computer configured and equipped forInternet or other network communications and communicating with said adspace location.

Additionally, for those advertisers that do not have an e-commercewebsite, the system allows them to create their own online e-commercecatalog and connect their product or catalog of products to theiradvertising. Users can then, when viewing the advertisement, access andreview the product/catalog information and select items for purchase.The system provides the online e-commerce functionality to allow usersto purchase and pay for the advertiser's products online, which is avaluable feature for those that do not have their own e-commercecapability, and provides a turnkey advertising and e-commerce system forusers, providing them with the ability to create professional lookinglarge display ads which are more effective in an easy and cost-efficientway.

As noted previously, the auction occurs when a billboard module isactivated/initiated anywhere on the network. The billboard module thenestablishes communication with the relational database containinginformation on all of the advertisements ready for display in the adspace on the network, then sends a request for advertising. This requestincludes a variety of information not limited to the keywords orcategories associated with the advertising module and the size anddimensions of the available advertising space. The system runs acomparison, based on an algorithm, of all advertisements in the databasewith keywords that match the keywords associated with the advertisingdisplay location up for auction. This algorithm takes into account avariety of customizable parameters, including, without limitation theCPC/CPM bid on the advertisement and the click-through rate of theadvertisement. The winning advertisement is then displayed in theadvertising space. The advertisement displayed may also be assembledaccording to instructions in the same or other database. Theseinstructions may call elements from a variety of locations, and assemblethem for display within the advertising module. All actions taken on theadvertising content are then sent back to the relational database usingFSDC.

The billboard modules themselves are preferably .swf files, anycomparable code such as .net .asp or AJAX that contains all thenecessary code to send and retrieve data and variables from thedispatcher server. The module, when initiated, it establishescommunication with the dispatcher with the appropriate network protocol,then the database runs applications required for the advertisingauction. Based on the results of the auction, communication is sent backto the module with instructions on how to assemble and display the ad(s)where to retrieve the ad template file, files and digital media topresent.

The ad template files themselves are preferably rich media files,preferably .swf, which is a Macromedia/Adobe Flash format any comparablecode such as .net .asp, or AJAX that can be embedded to dynamic. This isa smart rich media file that can gather from and send information to arelational database and can retrieve and display an ad file from anyserver location. This ad file may be a static HTML, image, or a richmedia file such as .swf. The .swf file acts as a template fileimplements all of the necessary actions to retrieve a variety of data,including text messaging, digital media files including picture and richmedia files including video, instructions on when to play or to beskipped, to track all custom parameters and to load a go-to page when itis a appropriate (for instance at the end of the ad or when it isskipped by user, or if an ad is clicked by a viewer). The template .swffile can be stored on any server connected to Internet. The digitalmedia files are preferably stored at a content server or contentdatabase. The graphical user interface is stored preferably on thedispatcher server, and includes “thumbnails” or preview displays of thead content files templates, digital media libraries with elements readyfor licensing on a cost per use basis, and information regarding thelocation of the ad content files in order to easily identify and manageads, but not necessarily the full ad file. It should be understood thatthe ad file and associated messaging and digital media files can bestored and accessed from any server. As the ad plays in the billboardmodule, tracking metadata is sent back to the dispatcher server enablingthe billing of the advertiser, and payment to the ad publisher andowners of licensed digital content.

The interface means, processor means and computer communications meanscan have various embodiments, including, without limitation, use oftraditional Internet browser applications, whether customized for use inthe present system, or existing third party software applications toprovide the advertisements to the user. In a preferred embodiment, thenetwork location where the ad is desired contains an embed objectcommand which activates the billboard module when the web page isrequested or the location is otherwise acted upon. The billboard moduleis preferably an .swf file but may be an asp, .net or AJAX file, thatestablishes communication with the system-end dispatcher server. Thebillboard module file may reside in any server or other hardwareconnected to the network. When network users act upon a network locationwith an embedded billboard module, the billboard module loads in theviewer's browser and establishes communication with the dispatcherserver. The module then transmits an identifier, and associatedinformation such as keywords, categories, geographical location, adsize, etc, to the dispatcher server and the system auction softwareapplication conducts an auction to select the ad to be displayed fromthose that are associated with and have placed bids for display at thebillboard module by comparing all advertisements in the database withlike parameters and applying an algorithm that takes into account anumber of variables such as, without limitation, cost-per-use bid,click-through rate and then retrieves the selected ad parameter/commandfile from the database and then communicates the location of theselected advertising or advertising template file. The dispatcher thenpasses all necessary information from the database into theadvertisement template file. The advertisement is then rendered in thetemplate file within the ad billboard module, according to theinstructions in the ad parameter/command file in the dispatcher serverdatabase. Use of a template file is optional. Instructions may include,but are not limited to, text messaging, location of licensed digitalmedia content, go-to locations (upon click action by viewer) and othertracking information. That information can be passed to the advertisingtemplate via a data string that loads the ad and then some of theinformation can be used as part of the tracking string sent from the adfile. When the ad files are retrieved and run, metadata is sent to thedispatcher server using FSDC and the system calculates and charges thespecified cost-per-use of the display of the ad at the desired location,and of the licensed content, drawing funds from the advertiser's systemaccount to pay the content licensor and ad space location owner.

Referring to FIG. 1 , which depicts a diagrammatical overview of thecommunication flow of the present invention, without reference to anyparticular type of network, there is an ad publisher with ad space madeavailable for ad placement 5 which communicates with the system-enddispatcher server 126 to create the ad publisher's system account, enterthe keywords or categories that the ad publisher wants associated withthe ad publisher's ad space, and receive from the dispatcher server 126the software code comprising the billboard module 10 to be embedded atthe ad publisher's ad space 5. In FIG. 1 , the billboard module 10 isdepicted on the ad publisher's ad space 5 represented by the screen onthe computer icon, and the computer 30 is a network user/ad viewer-enddevice. Advertiser computer 2 communicates with the content server 125to license content to create an ad and with the dispatcher server 126 toenter the parameters and commands to retrieve the content files (thedispatcher server and the content server can comprise the same server),assemble them into the overall ad, preview and display the ad at thedesignated ad space 5, also including the keywords to be associated withthe ad, possibly geographical, timing, or other parameters as to displayof the ad, the location of the ad space 5 where the ad will bedisplayed, and a bid for display of the ad at the ad space 5 when an adviewer acts upon the billboard module 10 and the ad is the one selectedin the auction that automatically ensues at the dispatcher server 126when the billboard module 10 is activated. The advertiser's adparameters and commands and bid display are stored as a file in the adparameter and command file database 20 within the dispatcher server 126.When an ad viewer requests or otherwise acts upon the location where thebillboard module 10 is embedded, the billboard module 10 communicateswith the dispatcher server 126 and ad parameter and command filedatabase 20 and the relevant keywords and other information relating tothe ad space 5 is provided from the billboard module 10 which are usedby the system software applications to conduct a real-time auction toselect an ad for display from those that have the corresponding keywordsand other parameters based on the bids placed with respect to such adsfor display or based on ad parameters, including, but not limited to,click-through rate, ad space size, display region and ad type, or acombination of such parameters and bids. Once the auction is conductedand an ad is selected, the corresponding ad parameter and command filefor the ad in the ad parameter and command file database 20 is activatedto retrieve the ad content files comprising the ad from the ad contentfile server(s) 125, assemble and display the ad at the ad space 5. Metadata relating to the ad is sent back to the dispatcher server 126 fortracking and also charging for use of the licensed content and displayof the ad at the ad space 5. The advertiser's account is debited and thecontent licensors and ad publishers are paid.

The system is preferably made available to website operators andadvertisers via a system website for use by them after registering as awebsite advertisement administrator. Referring to FIG. 5 , which showsthe process flow of the advertising method implemented with the systemof the present invention via the Internet, an advertiser creates andplaces an ad by executing the following steps:

Registering with the system as an advertisement administrator 300, 310advertisers are directed to a menu where they create their advertisingdisplay by entering messaging, uploading logos or pictures, selectingfrom a variety of digital content libraries made available through thesystem for licensing on a cost-per-use basis, and create an advertisingcampaign by entering keywords or selecting categories to associate withsaid advertisement, network location and geographical region for theadvertisement's display, go-to location upon click action on theadvertisement, cost-per-use bid, minimum daily budget and other adparameter data. Advertisers are also provided the opportunity to runreal-time test auctions to evaluate approximate results of theircampaign with the parameters they have selected. These items ofinformation are then stored as the unique record in the database thatcan be retrieved and used by the billboard module and advertisementtemplate file (.swf .asp, .php, .net, AJAX or other file format)parameter command file for that particular ad placement 330. The recordalso includes the cost-per-use data for all of the ad content filesforming part of the ad, and also the “bid” for display of the ad atspecified network locations in response to user queries on searchengines and/or websites using specified words or other user action atthe specified network location where the ad is to be displayed.

After clicking “Save” in the system user screen when theabove-referenced data is entered, a unique specific database recordcontaining the specified custom parameters in the system's dispatcherserver. When a billboard module on the network is requested, acommunication is established with the dispatcher server, and aftercomparison, one or more of these specific database records are requestedand the advertising is displayed/placed in the module. This placementcan be “bid” on by multiple advertiser's that seek to have their adsdisplayed in such locations, and the system's auction function allowsthe website operator/ad displayer to display the ads that are mostprofitable for it to display, i.e., those that generate the mostadvertising revenue or otherwise have the most favorable parameters.This relational database entry also may contain custom parameters which,with the help of the FSDC tracking system, will pass tracking datarelating to impressions and any actions (clicks on multiple parameters)taken on that particular advertisement for tracking and compilation forthe website operator/advertiser's future reference. The presentinvention makes serving ads possible without any pre-loading technologyrequired.

Registering with the system as a publisher administrator, publishers aredirected to a menu where they enter information including contactinformation, and account information as to where they would likepayments for advertising made to. They are also offered a menu to selectpreferred ad space sizes and dimensions, and enter keywords to associatewith the ad space (billboard module) or select from a list of categoriesto associate with the billboard module. Upon submission the codenecessary to embed the module in a web page is generated, withinstructions. In the case of a website with search functionality,instructions will also be given on dynamically associated keywordrequests with the advertising module.

Referring now to FIGS. 2 and 3 , an overview of a preferred embodimentof the present invention is shown. The present invention communicateswith a website viewer and ad creator/publisher computer systems 108. Thead creator can publish other advertisers' ads on his own site or publishhis own ads on other sites having billboards made available by others.The computer system 108 comprises input and output devices, as iswell-known in the art. For example, the computer system 108 preferablycomprises a display screen or monitor 104, a keyboard 116, a printer114, a mouse 106, etc. The computer system 108 is preferably connectedto the Internet 112 that serves as one preferred communications medium.The Internet 112, as previously discussed, comprises a global network ofnetworks and computers, public and private. The Internet 112 is thepreferable connection method by system users 118, 120, 122 and nnn inpreferred embodiments of the present invention. The websiteuser/advertisement viewer's computer is preferably similar in itsfeatures.

Referring now to FIG. 3 , the system-end computer 108 is shown. Thecomputer system 108, in a preferred embodiment, comprises an addispatcher server 126, a tracking server 124 (which can be the same asor part of the dispatcher server), one or more licensed digital contentfile servers 125. The dispatcher server 126, licensed digital contentfile servers 125 and tracking server 124 preferably run in a variety ofoperating system environments, including MS Windows NT, MS Windows 2000,Linux and others, and preferably utilize a variety of databasemanagement systems, including MS SQL Server, Oracle and others.

Connectivity between the system user-end, the system-end and adviewer-end may be effected in various forms without violating the scopeand spirit of the present invention. In particular, network connectivitymay be made by a telephone line/modem combination as is well known inthe art, a dedicated ISDN line or a cable modem-type set-top-box whichprovides for Internet connectivity through certain forms of cabletelevision services. Wireless communication can also be utilized. Ineach of the aforementioned cases, the computer of the website user-endportion will need to be provided with a suitable I/O card, such as amodem, ISDN card, and the like, in order to effect an appropriateinterface with the network connection.

In application, the system provides for placement and delivery ofadvertisements as a compiled file. Preferably, this compiled file is aflash file identified by the .SWF suffix other files can be used. Theuse of the Macromedia/Adobe Flash file is preferred because of theability to provide instructional code within the .swf file, and becausenearly all customer computer systems have been enabled with the Flashplayer as a result of normal Internet browser configuration. Also, .swffiles have become more universal, and able to execute in a variety ofdevices, including cell phones, PDA's, television and other devices. Itis to be understood that under the teachings of the present invention,any type of file that is capable of operation without the initiation ofan additional application could be used in place of Flash and the .swffile and use of a .swf file is not a limitation of the presentinvention.

Under the present invention, the clicking of the ad link or entry of thespecified keyword as a search query, or other ad viewer action at thebillboard module placed at the display location activates thecorresponding ad parameter/command file in the ad parameter filedatabase at the dispatcher server. Sample billboard module code isprovided below:

KeyFrame # 1 _root.stop( ); // Get Objects for Template sendForObjects =new LoadVars( ); receiveObjects = new LoadVars( ); // event handler tokickoff _root.onLoad = function( ) { // the sendForObjs keywords for adauction and receive variable that are used for ad population sendForObjects.sendForObjs = “flashPort”; sendForObjects.sendAndLoad(“http://www.3cdepot.com/adAuction/getAds.asp?keywords=”+q+”&nocache=“+new Date( ).getTime( ),receiveObjects, “POST”);  // used in below function to check if ourreceiveObjects object has loaded  receiveObjects.onLoad =receiveObjectsLoaded; }; // if object data received, send to next framefunction receiveObjectsLoaded(success) {  if (success) {  // destroy theobjects  delete receiveObjects( );  delete sendForObjects( ); _root.nextFrame( );  } else {  (_root.errorMsg.text=“Error AccessingDatabase”);  } } KeyFrame #2 //create variables to store ads's clientUIDand userUID catClientUID = receiveObjects.catClientUID; catUserUID =receiveObjects.catUserUID; catalogName = receiveObjects.catalogName;//create array to store Ad Optional Attributes catArray =receiveObjects.catAttribsList.split(‘|’); for (n=0; n<catArray.length;n++) {  d = catArray[n].split(‘#’);  item = {AdTitle:d[0],AdHeight:d[1], AdWidth:d[2], image_src:d[3], url:d[4], message:d[5],subTitle:d[6], bgColor:d[7], textColor:d[8], sound:d[9]};  catArray[n] =item; } //remove last object from array since its undefinedcatArray.pop( ); //initialize catalog attribute variables from arrayAdTitle = _level0.catArray[0][“AdTitle”]; bgColor =_level0.catArray[0][“bgColor”]; AdHeight =_level0.catArray[0][“AdHeight”]; AdWidth =_level0.catArray[0][“AdWidth”]; url = _level0.catArray[0][“url”];textColor = _level0.catArray[0][“textColor”]; inseam =_level0.catArray[0][“inseam”]; image_src =_level0.catArray[0][“image_src”]; subTitle =_level0.catArray[0][“subTitle”]; sound1 = _level0.catArray[0][“sound”];/*-------------------------------------------------------*/ //createarray to store item and its properties itemPropArray =receiveObjects.itemObjsList.split(‘|’); for (n=0;n<itemPropArray.length; n++) {  d = itemPropArray[n].split(‘#’);  item ={auctionUID:d[0], adUID:d[1], order_num:d[2], adName:d[3], img:d[4],clientUID:d[5], userUID:d[6], title:d[7], caption:d[8]}; itemPropArray[n] = item; } //remove last object from array since itsundefined itemPropArray.pop( ); //sort array by order_num itemPropArray= itemPropArray.sortOn(“order_num”); nextFrame( ); Keyframe # 3 _root,stop; // create array to store to be duplicated clip names clipNames =new Array( ); //function which loops through array and generate aduplicatemovie statement for each item in array //numItems acceptsnumber up to max items in catalog //imageDir points to folder structurewhere images are stored (either “”, “1”, or “½”) //clipToDuplicate isthe name of the parent movieclip to duplicate //imageHolderPath is thedot notation target path to the imageHolder mc functioncreateItems(numItems,imageDir,clipToDuplicate,imageHolderPath, imageSpacing) { //for (var h = 0; h<itemPropArray.length; h++) { for (var h =0; h<numItems; h++) {  //get the adUID from array to be used forduplicate movieclip name  itemObjUID = itemPropArray[h][“itemUID”]; //get the adName from array to be used in textfield  itemThumbNail =itemPropArray[h][“thumbNails”];  //get the title from array  itemTitle =itemPropArray[h][“title”];  itemCaption = itemPropArray[h][“caption”]; //get the clientUID and userUID to be used in path to image  clientUID= itemPropArray[h][“clientUID”];  userUID = itemPropArray[h][“userUID”]; //duplicate the movieclip  randomNum = random(1000); _root[clipToDuplicate].duplicateMovieClip(itemObjUID, randomNum); //store newly duplicated clipnames in array clipNames.push(itemObjUID);  //set the textfields with title andcaption  set(itemObjUID + imageHolderPath + “.textF.text”,String(itemTitle));  set(itemObjUID + imageHolderPath +“.captionF.text”, String(itemCaption));  //set background color ofcaption textBox  set(itemObjUID + imageHolderPath +“.captionF.backgroundColor”, “0x5A6B73”);  set(itemObjUID +imageHolderPath + “.captionF.borderColor”, “0xCCCCCC”); //position movieclips   if (h<1) {   var xpos = 5;   setProperty(itemObjUID, _x, xpos); }  else {   xpos = xpos + imageSpacing;   setProperty(itemObjUID, _x,xpos);  }  //load thumbnails loadMovie(“http://www.3cdepot.com/ads/images/”+clientUID+“/”+userUID+“/”+imageDir+“/”+itemThumbNail, itemObjUID + imageHolderPath +“.imageHolder”);  } } //store the number of items from array to beduplicated arrLength = itemPropArray.length; play( ); KeyFrame # 4_root, stop; // create array to store to be duplicated clip namesthumbClipNames = new Array( ); //function which loops through array andgenerate a duplicatemovie statement for each item in array //numItemsaccepts number up to max items in catalog //imageDir points to folderstructure where images are stored (either “”, “1”, or “½”)//clipToDuplicate is the name of the parent movieclip to duplicate//imageHolderPath is the dot notation target path to the imageHolder mcfunction createThumbs(numItems,imageDir,clipToDuplicate,imageHolderPath,image Spacing) {  //for (var h = 0; h<itemPropArray.length; h++) {  for(var i = 0; i<numItems; i++) {  //get the adUID from array to be usedfor duplicate movieclip name  th_itemObjUID =itemPropArray[i][“itemUID”];  //give special movieclip name designationto thumbnails  th_itemObjUID = th_itemObjUID + “th”  //get the adNamefrom array to be used in textfield  th_itemThumbNail =itemPropArray[i][“thumbNails”];  //get the clientUID and userUID to beused in path to image  th_clientUID = itemPropArray[i][“clientUID”]; th_userUID = itemPropArray[i][“userUID”];  //duplicate the movieclip th_randomNum = random(10000); _root[clipToDuplicate].duplicateMovieClip(th_itemObjUID, th_randomNum); //store newly duplicated clipnames in array thumbClipNames.push(th_itemObjUID);  //position movie clips   if (i<1){   var th_ypos = 400;   setProperty(th_itemObjUID, _y, th_ypos);  } else {   th_ypos = th_ypos + imageSpacing;   setProperty(th_itemObjUID,_y, th_ypos);  } //load thumbnailsloadMovie(“http://www.3cdepot.com/ads/images/”+th_clientUID+“/”+th_userUID+“/”+th_itemThumbNail, th_itemObjUID +imageHolderPath + “.imageHolderSm”);  } } //store the amount of itemsfrom array to be duplicated thumbArrLength = itemPropArray.length;//function that places thumbnail clips at specified x and y pointsfunction placeThumbs(clipNum,x,y) { setProperty(thumbClipNames[clipNum], _x, x); setProperty(thumbClipNames[clipNum], _y, y);  } play( ); KeyFrame # 5//Send tracking parameters if (_level0.x != null && level0.x != “”) { loadVariablesNum(“http://www.3cdepot.com/ads/counter/?x=”+_level0.x+“&t⁼”+_level0.catalogName+“&c=”+_level0.c+“&p=”+_level0.p, 0);  }KeyFrame # 6 //call the functions to create adscreateItems(arrLength,“1”,“itemHolderLg”,“”, 180);createThumbs(thumbArrLength,“”,“itemHolderSm”,“”,60);placeThumbs(0,353,150);

A sample of code that is embedded in the ad publisher's ad space on awebsite is provided below:

<%@LANGUAGE=“VBSCRIPT” CODEPAGE=“1252”%> <!DOCTYPE html PUBLIC“-//W3C//DTD XHTML 1.0 Transitional//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd”> <htmlxmlns=“http://www.w3.org/1999/xhtml”> <head> <metahttp-equiv=“Content-Type” content=“text/html; charset=iso-8859-1” /><title>Ad Module</title> </head> <body> <objectclassid=“clsid:D27CDB6E-AE6D-11cf-96B8- 444553540000”codebase=“http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0” width=“260” height=“400”title=“Ad_module_1”>  <param name=“movie”value=“http://www.3cdepot.com/ads/module_1.swf?keywords=<% =Request.QueryString(“q”) %>” />  <param name=“quality” value=“high” /> <embed src=“http://www.3cdepot.com/ads/module_1.swf?keywords=<%=Request.QueryString(“q”) %>” quality=“high”pluginspage=“http://www.macromedia.com/go/getflashplayer”type=“application/x-shockwave-flash” width=“260” height=“400”></embed></object> </body> </html> </html>

A sample of code embedded in a search engine ad publisher's ad space isprovided below:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd”> <htmlxmlns=“http://www.w3.org/1999/xhtml”> <head> <metahttp-equiv=“Content-Type” content=“text/html; charset=iso-8859-1” /><title>Ad Module</title> </head> <body> <objectclassid=“clsid:D27CDB6E-AE6D-11cf-96B8- 444553540000”codebase=“http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0” width=“260” height=“400”title=“Ad_module_1”>  <param name=“movie”value=“http://www.3cdepot.com/ads/module_1.swf” />  <paramname=“quality” value=“high” />  <embedsrc=“http://www.3cdepot.com/ads/module_1.swf” quality=“high”pluginspage=“http://www.macromedia.com/go/getflashplayer”type=“application/x-shockwave-flash” width=“260” height=“400”></embed></object> </body> </html>

As directed by the billboard module, the dispatcher server conducts anauction to select the ad to be displayed from those that have bid fordisplay with reference to the particular keyword(s) or topic and thenretrieves the selected ad's ad parameter/command file from thedispatcher server (.swf file or HTML, asap, net, or AJAX file in which.swf file is embedded). Sample ad auction algorithm code is providedbelow:

CREATE PROCEDURE dbo.ab_AdAuction (@keywords nvarchar(50), @blockSizeINT, @area tinyint, @cityUID INT, @stateCode varchar(2), @dup_postingUIDINT) AS SET NOCOUNT ON BEGIN DECLARE @areaStr varchar(200), @postingSrtvarchar(200), @rq varchar(8000), @li INT, @total_ratinginBlockdecimal(9,4), @procentage decimal(9,4), @numberofrecords INT,@item_table TINYINT, @fakeCategoryUID INT, @postingUID INT DECLARE @IDINT, @views decimal(9,2), @clicks decimal(9,2), @percentagedecimal(9,4), @bid money, @cnt INT, @ctr decimal(9,4), @ratingdecimal(9,4) DECLARE @numberofBlocks INT, @av_clicks decimal(9,2),@av_views decimal(9,2), @av_ctr decimal(9,4), @totalAds tinyint CREATETABLE #table2 (blockNumber INT, [ID] INT, ctr decimal(9,4), ratingdecimal(9,4), bid money, [views] INT, clicks INT, rating_prdecimal(9,4), view_pr decimal(9,4), postingUID INT ) CREATE TABLE#table1 ([ID] INT, ctr decimal(9,4), rating decimal(9,4), bid money,[views] decimal(9,4), clicks decimal(9,4), postingUID INT) SET @totalAds= 0 -- Get city local -based search result SET @areaStr = “ IF @area <>0 SET @areaStr= ‘ AND area=’+Str(@area) SET @postingSrt = “ IF@dup_postingUID <> 0 SET @postingSrt = ‘ AND postingUID <>’+Str(@dup_postingUID) SET @rq = ‘DECLARE ad_cursor CURSOR SCROLL KEYSETFOR SELECT TOP 20 [ID], [views], clicks, bid, postingUID FROMdbo.adsWHERE ad_option = 2 AND cityUID=‘+Str(@cityUID)+’ AND local_flagIS NOT NULL AND stop_flag IS NULL‘+@areaStr+@postingSrt IF @keywords <>” SET @rq = ‘DECLARE ad_cursor CURSOR SCROLL KEYSET FOR SELECT TOP 20[ID], [views], clicks, bid, postingUID FROM dbo.adsWHERE FREETEXT(*,“‘+@keywords+’”) AND ad_option = 2 AND cityUID=‘+Str(@cityUID)+’ ANDlocal_flag IS NOT NULL AND stop_flag IS NULL‘+@areaStr+@postingSrt EXEC(@rq) OPEN ad_cursor SET @numberofrecords = @@CURSOR_ROWS FETCH ABSOLUTE1 FROM ad_cursor INTO @ID, @views, @clicks, @bid, @postingUID  SET@cnt=0  WHILE @@FETCH_STATUS=0 AND @cnt < 20  BEGIN SET @ctr = 0 SET@rating = 0 IF @views > 0 AND @clicks > 0 BEGIN SET @rating =100 SET@ctr = ((@rating / @views) * @clicks) SET @rating = (@bid * @ctr) ENDINSERT #table1 VALUES (@ID, @ctr, @rating, @bid, @views, @clicks,@postingUID)   FETCH NEXT FROM ad_cursor INTO @ID, @views, @clicks;@bid, @postingUID   SET @cnt = @cnt+1   SET @totalAds = @totalAds +1 END CLOSE ad_cursor DEALLOCATE ad_cursor -- Get state-based searchresult (it could be also based on msa, cbsa, csa or other regioncriteria) IF @totalAds < @blockSize BEGIN SET @rq = ‘DECLARE ad_cursorCURSOR SCROLL KEYSET FOR SELECT TOP 20 [ID], [views], clicks, bid,postingUID FROM dbo.adsWHERE ad_option = 2 ANDstateCode=“‘+@stateCode+’” AND local_flag IS NULL AND stop_flag ISNULL‘+@areaStr+@postingSrt IF @keywords <> ” SET @rq = ‘DECLAREad_cursor CURSOR SCROLL KEYSET FOR SELECT TOP 20 [ID], [views], clicks,bid, postingUID FROM dbo.adsWHERE FREETEXT (*,“‘+@keywords+’”) ANDad_option = 2 AND stateCode=“‘+@stateCode+’” AND local_flag IS NULL ANDstop_flag IS NULL‘+@areaStr+@postingSrt EXEC (@rq) OPEN ad_cursor SET@numberofrecords = @@CURSOR_ROWS FETCH ABSOLUTE 1 FROM ad_cursor INTO@ID, @views, @clicks, @bid, @postingUID  SET @cnt=0  WHILE@@FETCH_STATUS=0 AND @cnt < 20  BEGIN SET @ctr = 0 SET @rating = 0 IF@views > 0 AND @clicks > 0 BEGIN SET @rating =100 SET @ctr = ((@rating /@views) * @clicks) SET @rating = (@bid * @ctr) END INSERT #table1 VALUES(@ID, @ctr, @rating, @bid, @views, @clicks, @postingUID)   FETCH NEXTFROM ad_cursor INTO @ID, @views, @clicks, @bid, @postingUID   SET @cnt =@cnt+1   SET @totalAds = @totalAds +1  END CLOSE ad_cursor DEALLOCATEad_cursor END -- Get national search result IF @totalAds < @blockSizeBEGIN SET @rq = ‘DECLARE ad_cursor CURSOR SCROLL KEYSET FOR SELECT TOP20 [ID], [views], clicks, bid, postingUID FROM dbo.adsWHERE ad_option =2 AND stateCode <> “‘+@stateCode+’” AND local_flag IS NULL AND stop_flagIS NULL‘+@areaStr+@postingSrt IF @keywords <> ” SET @rq = ‘DECLAREad_cursor CURSOR SCROLL KEYSET FOR SELECT TOP 20 [ID], [views], clicks,bid, postingUID FROM dbo.adsWHERE FREETEXT (*,“‘+@keywords+’”) ANDad_option = 2 AND stateCode <> “‘+@stateCode+’” AND local_flag IS NULLAND stop_flag IS NULL‘+@areaStr+@postingSrt EXEC (@rq) OPEN ad_cursorSET @numberofrecords = @@CURSOR_ROWS FETCH ABSOLUTE 1 FROM ad_cursorINTO @ID, @views, @clicks, @bid, @postingUID  SET @cnt=0  WHILE@@FETCH_STATUS=0 AND @cnt < 100  BEGIN SET @ctr = 0 SET @rating = 0 IF@views > 0 AND @clicks > 0 BEGIN SET @rating =100 SET @ctr = ((@rating /@views) * @clicks) SET @rating = (@bid * @ctr) END INSERT #table1 VALUES(@ID, @ctr, @rating, @bid, @views, @clicks, @postingUID)   FETCH NEXTFROM ad_cursor INTO @ID, @views, @clicks, @bid, @postingUID   SET @cnt =@cnt+1   SET @totalAds = @totalAds +1  END CLOSE ad_cursor DEALLOCATEad_cursor END -- run in case to fill out without keywords IF @keywords<> ” IF @totalAds < @blockSize BEGIN SET @rq = ‘DECLARE ad_cursor CURSORSCROLL KEYSET FOR SELECT TOP 20 [ID], [views], clicks, bid, postingUIDFROM dbo.adsWHERE stop_flag IS NULL AND ad_option=2 AND local_flag ISNULL AND postingUID NOT IN (SELECT postingUID FROM #table1) ORDER BY[ID] DESC’ EXEC (@rq) OPEN ad_cursor SET @numberofrecords =@@CURSOR_ROWS FETCH ABSOLUTE 1 FROM ad_cursor INTO @ID, @views, @clicks,@bid, @postingUID  SET @cnt=0  WHILE @@FETCH_STATUS=0 AND @cnt < 100 BEGIN SET @ctr = 0 SET @rating = 0 IF @views > 0 AND @clicks > 0 BEGINSET @rating =100 SET @ctr = ((@rating / @views) * @clicks) SET @rating =(@bid * @ctr) END INSERT #table1 VALUES (@ID, @ctr, @rating, @bid,@views, @clicks, @postingUID)   FETCH NEXT FROM ad_cursor INTO @ID,@views, @clicks, @bid, @postingUID   SET @cnt = @cnt+1   SET @totalAds =@totalAds +1  END CLOSE ad_cursor DEALLOCATE ad_cursor END -- Setvariables for sorting DECLARE @totalRating decimal(9,4), @totalViewsdecimal(9,4), @rating_pr decimal(9,4), @view_pr decimal(9,4),@avg_rating decimal(9,4), @min_rating decimal(9,2) SET @totalRating =(SELECT SUM(rating) FROM #table1) SET @totalViews = (SELECT SUM([views])FROM #table1) --SET @avg_rating = (SELECT AVG(rating) FROM #table1) SET@avg_rating = (SELECT MAX(rating) FROM #table1) -- Sort ads by ratingsDECLARE ad_cursor CURSOR SCROLL KEYSET FOR SELECT [ID], ctr, rating,bid, [views], clicks, postingUID FROM #table1 ORDER BY rating DESC, bidDESC OPEN ad_cursor SET @numberofrecords = @@CURSOR_ROWS FETCH ABSOLUTE1 FROM ad_cursor INTO @ID, @ctr, @rating, @bid, @views, @clicks,@postingUID  SET @cnt=0  SET @li = 0  SET @numberofBlocks = 1  SET@total_ratinginBlock = 0  WHILE @@FETCH_STATUS=0 AND @cnt < (@numberofrecords+1)  BEGIN IF @li < @blockSize SET @li = @li+1 ELSEBEGIN SET @li = 1 SET @numberofBlocks = @numberofBlocks + 1 END IF(@views < 100 OR @views IS NULL) AND (@clicks = 0 OR @clicks IS NULL)SET @rating = @avg_rating IF @totalRating > 0 SET @rating_pr = (100 /@totalRating * @rating) IF @totalViews > 0 SET @view_pr = (100 /@totalViews * @views) IF @cnt < 5 UPDATE dbo.adsSET [views]=[views] +1WHERE [ID]=@ID AND ad_option=2 INSERT #table2 VALUES (@numberofBlocks,@ID, @ctr, @rating, @bid, @views, @clicks, @rating_pr, @view_pr,@postingUID)   FETCH NEXT FROM ad_cursor INTO @ID, @ctr, @rating, @bid,@views, @clicks, @postingUID   SET @cnt = @cnt+1  END CLOSE ad_cursorDEALLOCATE ad_cursor DROP TABLE #table1 SELECT TOP 5 a.[ID],a.rating_pr, a.view_pr, b.area, a.postingUID, b.posting_date,b.main_categoryUID, folder=CASE WHEN b.url=‘class'THEN ‘class' ELSE‘item’ END, b.title, heading=CASE WHEN (b.heading IS NOT NULL ANDb.heading <> ”) THEN b.heading ELSE b.heading_alt END, b.price,b.specialPrice, b.onSpecial, b.[description], b.src, region=(b.city+‘,’+b.stateCode), b.timeZone, b.categoryName, b.sub_categoryUID,b.subCategoryName FROM #table2 a INNER JOIN dbo.depot_items b ONa.postingUID=b.[ID] DROP TABLE #table2 END GOUsing the data from the dispatcher server, the coding of the .swftemplate file renders the advertisement, drawing a variety of elementsincluding messaging, including text, images, and third party digitalcontent from a variety of locations. A sample of coding that retrievesthe parameter/command data for the ad selected by the auction isprovided below:

<%@LANGUAGE=“VBSCRIPT” CODEPAGE=“1252”%> <% Dim searchstring,numberOfSpots, category, city, stateCode, postingUID, i searchstring =“key words sent from ad module” numberOfSpots = 5 ‘ can be any numberstarting from 1 category = 3 ‘ if there are category-based city = 1180 ‘city ID in database stateCode = “AZ” ‘ or other region criteriapostingUID = 0 ‘ needed to filter ads of the product on the actualproduct page i= 0 set adsRs = Server.CreateObject(“ADODB.Recordset”)adsRs.ActiveConnection = connection_string adsRs.CursorType = 0adsRs.CursorLocation = 2 adsRs.LockType = 3 adsRs.Open(“dbo.ab_AdAuction“‘ & searchstring & ’”, “ & numberOfSpots & ”, “ & category & ”, “ &city & ”, “‘ & stateCode & ’”, ” & postingUID) While Not adsRs.EOFResponse.Write “&ad” & i “=” & adsRs.Fields.Item(“ID”).Value i = i + 1 adsRs.MoveNext  Wend adsRs.Close( ) adsRs.ActiveConnection = NothingSet adsRs = Nothing %>

Using data received from the dispatcher server, the coding of the .swffile also establishes a connection to a tracking server which ispreferably used to store and provide to system users websiteadvertisement viewer activity tracking data. On viewer interaction, suchas via clicks, the coding of the .swf file establishes two substantiallysimultaneous connections, with one to the indicated tracking server fortracking purposes and the second is the actual link from the ad locationto the advertised content (click-through scenario). A sample depictionof an ad parameter/command database file stored in the system dispatcherserver is provided in FIG. 4 .

The method of the present invention in a preferred embodiment comprisesthe steps of: selecting one or more digital content files previouslystored in electronic file format in a mass storage device of a computersystem made available for licensing on a cost-per-click,cost-per-impression or other pay-per-use basis for use in creating an adfor placement on a website or other network location; storing in an adparameter/command file within a database at the system dispatcher serverthe commands needed to retrieve and assemble said licensed content aswell as the total cost-per-click or other cost-per-use of the licensedcontent used in the ad, the keyword topic terms, if any, that the adwill be associated with and the advertiser's bid amount for display ofthe ad at a specified location when the specified search terms areentered as search queries or clicked on as links and trackingparameters, for use upon selection of the ad to be displayed placing anad billboard module at the desired ad display network location, which,when clicked on by the website user, causes the website or otherlocation to communicate with the dispatcher server to execute areal-time auction to select the ad to be displayed, and then retrievethe stored ad parameter/command file for the selected ad from thedispatcher server database and then using the retrieved values in saiddata string and commands for said ad placement, to retrieve the adcontent files from where they are stored, assemble them into the overallad and display them at the specified network location. The advertisementviewer is then directed to specified go-to web page(s) depending on saidadvertisement viewer's activity with respect to said advertisement. Theadvertiser is charged the total cost-per-click or other cost-per-usecharge for the licensed and content and the ad space every time theadvertiser's ad is run and, the content licensor and ad space locationowner are paid.

In a preferred embodiment, the ad viewer can access and view theadvertisements without having to download or cache any files on thewebsite user's system. Utilizing FSDC technology, the ad's customtracking parameters as well as the ad viewer's actions in clicking onthe ad links provided is itself used as a tracking signal by the systemand is saved in the related tracking database.

Referring now to FIG. 6 , when a network user (in an Internet-basedembodiment) requests a webpage where the billboard module is embedded,referencing a keyword, or enters a query using the keyword 220, thebillboard module executes a request to the system's dispatcher server torun a real-time auction for selection of the particular ad file to bedisplayed from the group of ad files that have the same keyword anddisplay location references based on the bids placed for display of suchads 240 or based upon ad parameters, including but not limited to,click-through rate, ad space size, display region and ad type, or acombination of such parameters and bids, and then to retrieve the adplacement parameter file for the selected ad 200. This ad file may be astatic HTML image file, but also may be an advertising template filethat plays within the module and refers to the dispatcher server whichcontains unique identifiers for that particular ad placement transactionstored in the database. The database can be in SQL Server format, or,alternatively, it can be in Oracle, Microsoft Access or any otherserver-based database format. The database stores the unique parametersfor the particular ad placement rendering. The stored informationcontains the following components in addition to other customizableparameters: 1. URL link to the ad content files to be shown (the adcontent files can be located on any server, but are preferably stored ina database within a separate content server so that updating of contentfiles can be done separately from use of the system at one web locationrather than on every website where an ad is placed). 2. Variables thathold custom parameters for tracking (as many as needed), includinglink(s) to click action target page or pages. 3. The cost-per-click orother cost-per-use charge total for the licensed content used in the ad.4. The “bid” price for display of the ad in a desired location and/or inresponse to one or more specified search query terms. 5. The specifiedsearch keywords/query terms with which the ad will be associated.

The dispatcher server, in response to the request, initiates the link tothe ad template file at the ad server and passes into it the followinginformation: messaging including text and font format, location ofimages, location of third party digital content files, Location of linkto go-to page, click destinations and variables that contain customtracking parameters 210. The ad then grabs this information from thequery string and acts accordingly (displaying ad file 250 and sendingtracking parameters to a tracking server using FSDC in a preferredembodiment 260).

System Screens

As further described below, FIGS. 7-35 depict representative samples ofthe system's graphical user interface screens, which provide a systemuser template for creating parameter/command uniform resource locatoraddress data string files for retrieval, assembly and display, to bestored as files within the database of the dispatcher server.

FIGS. 9-21 , each discussed further below, depict sample system userscreens for users of the system seeking to create and place ads. Thesescreens walk the advertiser through a straightforward process ofcreating the ad, including selection of ad content, inputting text andmessaging for the ad, designating the ad title, click destination, size,associated keywords and/or categories, ad placement payment options,budgeting, geographic region for ad coverage and other parameters. Thescreens can have, as depicted in the samples, main menu items such as“Create New Ad” which leads to the screens for creating new ads and “MyRich Media Ads” which leads to screens whereby the users of the systemcan access and use the ads.

FIG. 7 depicts a sample system user/advertiser user registration loginscreen. Users who are registered with the system enter their useridentification and password to access the system as depicted in FIG. 8 .New operator users must register with the system by completing an onlineform as depicted in FIG. 7 . Once logged in, website operator users arepresented with a screen such as FIG. 8 which has various options,including edit user information, portfolio and tracking and add newadvertisement.

FIG. 9 depicts a sample initial advertisement creation input screen.After logging in, the advertisers enters a title for the ad to becreated. The advertiser then enters the destination for theadvertisement, which is where the ad viewers will be directed when theyclick on the ad. The advertiser can designate its own website or a thirdparty website or can designate the system's e-commerce depot whichallows advertisers that do not have e-commerce capability of their ownto use the system's features which allow ad viewers to purchase theadvertiser's products on services, providing electronic payment andorder/purchase processing. FIG. 10 depicts a sample advertisement clickdestination input screen. The advertiser then selects the ad size at ascreen such as the sample screen depicted in FIG. 11 . The advertiserthen selects the ad creative content files to be used in the ad, via acontent library provided via a user screen such as the sample screendepicted in FIG. 12 . The advertiser then enters the advertiser'sdesired ad text and messaging, via an input screen such as the sample adtext and messaging input screen depicted in FIG. 13 . The advertiserthen previews and saves the ad, via a screen such as the sample previewand save screen depicted in FIG. 14 . The advertiser then selects thegeographic region for which to run the ad. This feature enables verytargeted advertising. FIG. 15 depicts a sample geographic region inputscreen. The advertiser then selects a payment program for the ad via anad placement options screen such as the sample screen depicted in FIG.16 . The options, as previously mentioned can include all varieties ofpayment, such as, without limitation, pay-per-click, payment of aspecified fixed amount for a specified number of views, ad swapping,bartering, and other payment options. The advertiser then enterskeywords to be associated with the ad, as well as the advertiser's bidfor display of the ad when triggered by the designated keywords. FIG. 17depicts a sample keyword and maximum bid amount input screen, in anembodiment utilizing a pay per click ad charging payment option. Theadvertiser can test in real time the effectiveness of its keyword andbid selections and calibrate them accordingly to achieve best results.The advertiser also creates an advertising budget if the ad is beingpaid for via a pay per view/impression payment option, via an adplacement plan budget input screen such as the sample screen depicted inFIG. 18 . The advertiser also can select target categories to beassociated with the ad, via a target category selection screen such asthe sample screen depicted in FIG. 19 . FIG. 20 depicts a sample ofanother ad budget data input screen where an advertiser can create abudget using different parameters, such as, for example, but withoutlimitation, a maximum several budget or a maximum daily limit. Theadvertiser then enters payment information, such as the advertiser'scredit card data to pay for the ad. When the advertiser clicks “Submit”as depicted in FIG. 21 (an ad payment data input screen), all of the adinformation is sent to the dispatcher server and the ad is published.

FIGS. 22-32 , each discussed further below depict sample system usersscreens for users that have websites and are seeking to publish ads ontheir own site. As shown in the figures referenced above, the screenscan have several menu items, such as, for example but withoutlimitation, “My Websites” which includes the ad publisher's websiteinformation, “My Billboards,” which includes the parameter files forbillboards established by the ad publisher, and “Create New Billboard,”which leads to the screens that take the ad publisher through the stepsfor establishing a billboard for display of system ads.

Ad publishers first register their website and upload their website logointo the system via a Website Registration screen such as the samplescreen depicted in FIG. 22 . The ad publisher then enters anidentification for the billboard to be created via a billboard ID inputscreen such as the sample depicted in FIG. 23 . The ad publisher selectsa payment program to associate with the billboard being created. Theseare the parameters by which the ad publisher would charge when an ad isdisplayed in the billboard. FIG. 24 depicts a sample advertising programselection screen, showing three non-limiting examples of options, suchas pay per click or pay per view, ad swapping and affiliate programs.The ad publisher also selects the size for the billboard via a sizeselection screen such as the sample depicted in FIG. 25 . The adpublisher can customize the billboard by selecting border color,background color, text color or select options to match the adpublisher's website. FIG. 26 depicts a sample customization selectionscreen. The ad publisher then selects target categories to be associatedwith the billboard for relevant ad placement. FIG. 27 depicts a samplebillboard target category selection screen. The ad publisher thenreceives code to copy and paste into their website page, via a “Get Codefor Billboard” screen such as the sample depicted in FIG. 28 . If aninterstitial advertisement billboard is set up, (where the advertisementruns between web pages) the ad publisher is also prompted to enter theURL for the skip/destination web page. FIG. 29 depicts a sampleskip/destination URL input screen. In the case of interstitial ads, thead publisher is given a unique URL generated by the system which thepublisher copies and pastes into the ad publisher's website in the placeof the skip/destination URL. When an ad viewer clicks on thelink/billboard space, the user first sees the interstitial ad, then thedestination page. If the viewer clicks on the ad then the viewer isdirected to the interstitial ad's destination URL that was specified bythe advertiser that created the ad. FIG. 30 depicts a sampleinterstitial URL copying screen. The ad publisher places the billboardmodule code in their website. When the website page is requested, thebillboard module communicates with the dispatcher server and anadvertiser's ad is selected and rendered in the billboard module spaceon the designated page. FIG. 31 depicts a sample ad publisher billboardlocation within a website screen, showing the placement of the billboardmodule, represented by the “Need Shoes??? Click Here!” area of thescreen. With search engine websites, when the page is requested, thesystem determines the searched keyword and passes it to the billboardmodule and the billboard module communicates with the system dispatcherserver and advertiser's ad is selected and rendered in the billboardmodule on the ad publisher's web page. A sample of a rendered shoe ad inresponse to a query using the Keyword “Shoes” is depicted in the samplead publisher search engine web page screen in FIG. 32 . The system alsoprovides various operational parameter/data screens. FIG. 33 depicts asample ad parameter data base listing showing multiple ad parameterfiles. FIG. 34 depicts a sample ad campaign statistics screen with dataregarding performance of ads and budget consumption. FIG. 35 depicts asample single ad statistic screen.

Information about the content file(s) selected are saved in the systemad parameter file database as a row of data and a unique ID is given tothe row as shown in FIG. 14 . In the example in FIG. 14 , the unique idis noted in Column A, the cost per use of the licensed ad content usedin the ad is noted in Column H and the cost-per-click bid by theadvertiser for display of the ad in response to keywords specified inColumn J is noted in Column I. The ad display location owner is alsoregistered with the system and the offered ad display space is embeddedwith a billboard module associated with specified keywords designated bythe ad display location's owner. The designation by the ad spaceowner/ad publisher of keywords to be associated with the billboardmodule embedded at a particular network location enables the ad spaceowner to designate the subject matter of ads that the ad space ownerwould like to run at the particular location. When a network user/adviewer either requests a web page that contains the embedded billboardmodule, otherwise acts on the billboard module or enters one of thedesignated keywords as a query, the system conducts the auction toselect the ad to be displayed from the group of ads that reference thesame keyword and display location, and then the ad parameter/commandfile for the selected ad is accessed and the commands are retrieved andrun, retrieving, assembling and displaying the licensed content files inaccordance with the instructions.

In one embodiment of the present invention, ad publishers canparticipate in a barter-based advertising exchange network wherein adpublishers can exchange advertising impressions/views in theirpublication (whether online or other) for impressions/views of their ownadvertisements at third party publisher network locations. The adpublishers preferably contribute more ad impression/views than theyreceive in exchange such that a pool or inventory of availableimpressions/views is available for selection and use by participating adpublishers/advertisers. With this exchange network, ad publishers canalso advertise, and advertisers can use their own unused advertising“space” such as views/impressions on their own website, as currency forpaying for their own ad placements, making advertising less expensiveand increasing ROI for the advertiser by minimizing the out of pocketcash outlay for advertising, and publishers are able to liquidatedunsold inventory of ad impressions/views at no incremental cost. Contentlicensors can also use the system to barter their ad content in exchangefor impressions/views of their own ads at third party network locations,or other barterable advertising commodities. The system is used toimplement a method for ad publishers to exchange ad views/impressionsvia bartering, comprising the following steps: contributing adviews/impressions available on an ad publisher's network location to asystem for the creation, distribution and tracking of electronicadvertisements on a network, comprising a system-end computer equippedand configured for network communications, including computer processingmeans, a dispatcher server containing a database that stores one or morefiles containing parameters and commands for each advertisement, asystem advertiser user-end computer configured and equipped for networkcommunications and communicating with said network and communicatingwith one or more ad publisher-end computers configured and equipped fornetwork communications and communicating with said system dispatcherserver and network user-end computers, one or more advertisement serversconfigured and equipped for network communications communicating withsaid system-end dispatcher server and ad publisher-end computers andhaving one or more advertisement content files stored thereon which aremade available for licensing for use in creating an advertisement, oneor more network communications interface software applications forinterfacing with system advertiser users and also providing a menu forselection of one or more advertising content files made available forlicensing for use in creating an advertisement and creating a file insaid dispatcher server database that contains parameters and commands toretrieve, assemble and display said one or more advertisement files aswell as the total cost-per-use of the licensed ad content files and thelocation(s) where the ad will be displayed, network communication meansfor displaying said advertisement, and a tracking server communicatingwith said advertisement server and said dispatcher server for trackingof usage of licensed advertisement content files to calculate and chargesaid system advertiser user the cost-per-use rate for said licensedadvertisement content files each time said files are displayed, therebycreating an inventory pool of available ad views/impressions on saidsystem for use by ad publishers and other advertisers seeking to publishtheir ads, and providing to said ad publishers in exchange for saidcontributed ad views/impressions the right to display said adpublishers' own ads using network location views/impressions selectedfrom said inventory of said contributed ad views/impressions. FIG.

44 depicts a sample system screen for the ad exchange feature of thesystem. After the ad exchange program participant signs into the system,the ad exchange program is selected and the participant then creates the“billboard” module for the ad space being contributed by saidparticipant on said participant's website, other network location orpublication, where the ads of other participants in the ad exchangeprogram will be displayed. The participant can designate a previouslycreated billboard or can create a new one for use in the ad exchangeprogram. FIG. 45 depicts a sample system screen for the participants inthe ad exchange program to specify the identification parameters for thead space to be made available on said participant's website, othernetwork location or publication. The identification parameters are usedfor the participant to later find, track or update the billboard space.FIG. 46 depicts a sample system screen for participants to specify thesize parameters for the ad space to be made available on theparticipant's website, other network location or publication. FIG. 47depicts a sample system screen for participants to customize theappearance of the ad space being made available on the participant'swebsite, other network location or publication to match the overallappearance of said website, other network location or publication. FIG.48 depicts a sample system screen for participants to select theadvertisement for their own products/services to be run at third partyprogram participants' network locations in exchange for the ad spacecontributed to the program by said participant. FIG. 49 depicts a samplesystem screen for participants in the program to select targetcategories to be associated with the ad space on said participant's ownwebsite being contributed by said participant to the program. FIG. 50depicts a sample system screen where participants in the program receiveand can copy the code to be placed in said participant's own networklocation in order to display ads placed by other program participants.As network ads are displayed on the participant's own website or othernetwork location or publication, the participant earns credits or rightsto have their own ad displayed at other third party network locations.

As shown in FIGS. 34 and 35 , which depict sample system trackingscreens, meta data on any action taken on the ad is sent back to thedatabase file for the ad via FSDC, and the licensed ad content usage andad display location charges are applied. The advertiser preferablyplaces a deposit with the system to be drawn against as the advertiser'sad is displayed.

The ad spots can be made available either generally or in relation tothe use of specified search terms or keywords. In the case of a website,the website operator can designate keywords that relate to a particularad space by entering the words into the code for the billboard modulethat will be embedded at the ad space location. This is done via thesystem user interface when the web publisher creates a billboard module.In case of a search engine, keywords can be assigned to an ad space fromthe search field entry. Advertisers seeking to place an ad at the adspace noted enter into the system ad parameter data file the specifickeywords to be associated with the ad and a maximum bid for display ofthe ad at the designated space when the designated keywords are enteredas search queries. The ads are displayed once selected based on the bidfor each ad or other customizable parameters such as, for example,frequency of display (e.g., display the ad periodically, such as once aday or every five ads displayed, or other). Advertisers can run testauctions to assess the bid amount and frequency of display of the adbased on such bid amount. Sample system code for executing a testauction is provided below:

Sample Test Bid Ad Auction SQL procedure:

CREATE PROCEDURE dbo.ab_testAdauction (@postingUID INT, @ad_option INT,@test_bid money, @blockSize INT, @keywords nvarchar(150), @searchnvarchar(50), @showtime decimal(9,2) OUTPUT, @best_ctr decimal(9,2)OUTPUT, @competitors INT OUTPUT, @goodwords INT OUTPUT) AS SET NOCOUNTON BEGIN -- Check first 5 search words (where search is URLencryptedstring) against keywords DECLARE @mesStr varchar(60), @curStr INT, @var1varchar(60), @var2 varchar(60), @var3 varchar(60), @var4 varchar(60),@var5 varchar(60) BEGIN SET @goodwords = 0 IF (@keywords LIKE ‘%’+@search+‘ %’ OR LEFT(@keywords, LEN(@search)+1) LIKE @search+‘ %’ ORRIGHT(@keywords, LEN(@search)+1) LIKE ‘% ’+@search+‘ ’) SET @goodwords =1 ELSE BEGIN SET @var1 = ” SET @var2 = ” SET @var3 = ” SET @var4 = ” SET@var5 = ” SET @mesStr = @search -- Word # 1 SET @curStr = 0 WHILE@curStr < LEN(@mesStr) BEGIN IF SUBSTRING (@mesStr, @curStr,1) = ‘+’ IF@var1 = ” BEGIN SET @var1 = LEFT(@mesStr,@curStr−1) SET @mesStr =RIGHT(@mesStr, LEN(@mesStr) − (LEN(@var1)+1)) END SET @curStr = @curStr+1 END IF @var1 = ” SET @var1 = @mesStr ELSE IF (@keywords LIKE ‘%’+@var1+‘ %’ OR LEFT(@keywords, LEN(@var1)+1) LIKE @var1+‘ %’ ORRIGHT(@keywords, LEN(@var1)+1) LIKE ‘% ’+@var1+‘ ’) SET @goodwords = 1-- Word # 2 IF LEN(@search) >= (LEN(@mesStr) + 1 + LEN(@var1)) BEGIN SET@curStr = 0 WHILE @curStr < LEN(@mesStr) BEGIN IF SUBSTRING (@mesStr,@curStr,1) = ‘+’ IF @var2 = ” BEGIN SET @var2 = LEFT(@mesStr,@curStr−1)SET @mesStr = RIGHT(@mesStr, LEN(@mesStr) − (LEN(@var2)+1)) END SET@curStr = @curStr +1 END IF @var2 = ” SET @var2 = @mesStr END IF(@keywords LIKE ‘% ’+@var2+‘ %’ OR LEFT(@keywords, LEN(@var2)+1) LIKE@var2+‘ %’ OR RIGHT(@key words, LEN(@var2)+1) LIKE ‘% ’+@var2+‘ ’) SET@goodwords = 1 -- Word # 3 IF LEN(@search) >= (LEN(@mesStr) + 1 +LEN(@var1) + 1 + LEN(@var2)) BEGIN SET @curStr = 0 WHILE @curStr <LEN(@mesStr) BEGIN IF SUBSTRING (@mesStr, @curStr,1) = ‘+’ IF @var3 = ”BEGIN SET @var3 = LEFT(@mesStr,@curStr−1) SET @mesStr = RIGHT(@mesStr,LEN(@mesStr) − (LEN(@var3)+1)) END SET @curStr = @curStr +1 END IF @var3= ” SET @var3 = @mesStr ELSE IF @search LIKE @var3 SET @goodwords = 1END IF (@keywords LIKE ‘% ’+@var3+‘ %’ OR LEFT(@keywords, LEN(@var3)+1)LIKE @var3+‘ %’ OR RIGHT(@keywords, LEN(@var3)+1) LIKE ‘% ’+@var3+‘ ’)SET @goodwords = 1 -- Word # 4 IF LEN(@search) >= (LEN(@mesStr) + 1 +LEN(@var1) + 1 + LEN(@var2) + 1 + LEN(@var3)) BEGIN SET @curStr = 0WHILE @curStr < LEN(@mesStr) BEGIN IF SUBSTRING (@mesStr, @curStr,1) =‘+’ IF @var4 = ” BEGIN SET @var4 = LEFT(@mesStr,@curStr−1) SET @mesStr =RIGHT(@mes Str, LEN(@mesStr) − (LEN(@var4)+1)) END SET @curStr = @curStr+1 END IF @var4 = ” SET @var4 = @mesStr ELSE IF @search LIKE @var4 SET@goodwords = 1 END IF (@keywords LIKE ‘% ’+@var4+‘ %’ OR LEFT(@keywords,LEN(@var4)+l) LIKE @var4+‘ %’ OR RIGHT(@keywords, LEN(@var4)+1) LIKE ‘%’+@var4+‘ ’) SET @goodwords = 1 -- Word # 5 IF LEN(@search) >=(LEN(@mesStr) + 1 + LEN(@var1) + 1 + LEN(@var2) + 1 + LEN(@var3) + 1 +LEN(@var4)) BEGIN SET @curStr = 0 WHILE @curStr < LEN(@mesStr) BEGIN IFSUBSTRING (@mesStr, @curStr,1) = ‘+’ IF @var5 = ” BEGIN SET @var5 =LEFT(@mesStr,@curStr−1) SET @mesStr = RIGHT(@mesStr, LEN(@mesStr) −(LEN(@var5)+1)) END SET @curStr = @curStr +1 END IF @var5 = ” SET @var5= @mesStr ELSE IF @search LIKE @var1 SET @goodwords = 1 END IF(@keywords LIKE ‘% ’+@var5+‘ %’ OR LEFT(@keywords, LEN(@var5)+1) LIKE@var5+‘ %’ OR RIGHT(@keywords, LEN(@var5)+1) LIKE ‘% ’+@var5+‘ ’) SET@goodwords = 1 END END IF @goodwords=1 BEGIN SET @search =Replace(@search,‘+’,‘ ’) IF EXISTS (SELECT postingUID FROMdbo.ad_classifieds WHERE FREETEXT(*, @search) AND stop_flag IS NULL ANDad_option=1 AND postingUID <> @postingUID AND postingUID IS NOT NULL) --There are competitors!!! BEGIN -- Set temp tables CREATE TABLE #table2(blockNumber INT DEFAULT (0), [ID] INT DEFAULT (0), ctr decimal(9,4)DEFAULT (0), rating decimal(9,4) DEFAULT (0), bid money DEFAULT (0),[views] decimal(9,4) DEFAULT (0), clicks decimal(9,4) DEFAULT (0))CREATE TABLE #table1 ([ID] INT DEFAULT (0), postingUID INT DEFAULT (0),ctr decimal(9,4) DEFAULT (0), rating decimal(9,4) DEFAULT (0), bid moneyDEFAULT (0), [views] decimal(9,4) DEFAULT (0), clicks decimal(9,4)DEFAULT (0)) -- Set common variables DECLARE @totalRating decimal(9, 2),@blockRating decimal(9, 2), @blockNumber INT, @rq varchar(8000) DECLARE@li INT, @record_postingUID INT, @total_ratinginBlock decimal(9,4),@procentage decimal(9,4), @numberofrecords INT DECLARE @ID INT, @viewsdecimal(9,2), @clicks decimal(9,2), @percentage decimal(9,4), @bidmoney, @cnt INT, @ctr decimal(9,4), @rating decimal(9,4) DECLARE@numberofBlocks INT, @av_clicks decimal(9,2), @av_views decimal(9,2),@av_ctr decimal(9,4) -- Set request and run it SET @rq=‘DECLAREad_cursor CURSOR SCROLL KEYSET FOR SELECT [ID], postingUID, [views],clicks, bid FROM dbo.ads WHERE FREETEXT (*,“‘+@search+’”) AND stop_flagIS NULL AND ad_option=‘+Str(@ad_option)+’ AND postingUID <>’+STR(@postingUID) EXEC (@rq) OPEN ad_cursor SET @numberofrecords =@@CURSOR_ROWS FETCH ABSOLUTE 1 FROM ad_cursor INTO @ID,@record_postingUID, @views, @clicks, @bid  SET @cnt=0  WHILE@@FETCH_STATUS=0  BEGIN -- Set click through rate and rating based onbid amount and click through rate as a coefficient SET @ctr = 0 SET@rating = 0 IF (@views > 0 AND @clicks > 0 AND @bid > 0) BEGIN SET @ctr= ((100 / @views) * @clicks) SET @rating = (@bid * @ctr) END -- saverecord in temp table INSERT #table1 VALUES (@ID, @record_postingUID,@ctr, @rating, @bid, @views, @clicks)   FETCH NEXT FROM ad_cursor INTO@ID, @record_postingUID, @views, @clicks, @bid   SET @cnt = @cnt+1  ENDCLOSE ad_cursor DEALLOCATE ad_cursor -- Set testing click through rateand rating based on average stats IF EXISTS (SELECT [ID] FROM #table1WHERE ctr > 0) BEGIN SELECT @av_views = AVG([views]), @av_clicks =AVG([clicks]), @av_ctr = AVG(ctr) FROM #table1 SET @rating=(@test_bid *@av_ctr) END ELSE SELECT @av_views=0, @av_clicks=0, @av_ctr=0,@rating=100.00/(@numberofrecords+1) -- Keep testing record INSERT INTO#table1 ([ID], postingUID, ctr, rating, bid, [views], clicks) VALUES (0,@postingUID, @av_ctr, @rating, @test_bid, @av_views, @av_clicks) -- Sortby ratings and blocks to be shown where rating is used as % of totalviews DECLARE ad_cursor CURSOR SCROLL KEYSET FOR SELECT [ID], ctr,rating, bid, [views], clicks FROM #table1 ORDER BY rating DESC OPENad_cursor FETCH ABSOLUTE 1 FROM ad_cursor INTO @ID, @ctr, @rating, @bid,@views, @clicks  SET @cnt=0  SET @li = 0  SET @numberofBlocks = 1  SET@total_ratinginBlock = 0  WHILE @@FETCH_STATUS=0  BEGIN IF @li <@blockSize SET @li = @li+1 ELSE BEGIN SET @li = 1 SET @numberofBlocks =@numberofBlocks + 1 END IF @av_ctr=0 SET @rating =100.00/(@numberofrecords+1) INSERT #table2 VALUES (@numberofBlocks, @ID,@ctr, @rating, @bid, @views, @clicks)   FETCH NEXT FROM ad_cursor INTO@ID, @ctr, @rating, @bid, @views, @clicks   SET @cnt = @cnt+1  END CLOSEad_cursor DEALLOCATE ad_cursor SELECT @blockNumber=blockNumber FROM#table2 WHERE [ID]=0 SET @totalRating = 0 SET @blockRating = 0 IF EXISTS(SELECT rating FROM #table2 WHERE rating > 0) BEGIN SELECT@totalRating=SUM(rating) FROM #table2 SELECT @blockRating=SUM(rating)FROM #table2 WHERE blockNumber=@blockNumber END -- Get % of the timesfor the testing ad will show up SET @showtime = 0 IF @totalRating > 0AND @blockRating > 0 SET @showtime=ROUND((100.00/@totalRating *@blockRating),2) -- Get the best click through rate SET @best_ctr = 0SELECT @best_ctr=MAX(ctr) FROM #table2 WHERE [ID] <> 0 -- Get number ofcompetitors SET @competitors = @numberofrecords SELECT * FROM #table1SELECT * FROM #table2 DROP TABLE #table1 DROP TABLE #table2END ELSE --No competitors SELECT @blockNumber=1,@best_ctr=0, @showtime=100,@competitors=0 END ELSE -- Keywords do not contains search words SELECT@blockNumber=0, @best_ctr=0, @showtime=0, @competitors=0 END GO

When the billboard module embedded in the ad space and the web page isrequested or otherwise acted upon by a network user/ad viewer, thebillboard module is initiated and a message is sent to the systemdispatcher server passing the specific keyword and ad space data for thesystem software applications to identify the group of ads that willparticipate in the auction, and then conduct the auction for the spot todetermine which ad will be displayed in the particular instance. Anumber of variables can be compared in the auction selection process,including, for example, the number of ads in queue that are associatedwith the keyword at the time of the request, the number of totalavailable advertising spots associated with the keyword, bid amount, andthe current click-through rate of each ad associated with the keyword.The advertisement that is selected is then displayed and the advertiseris charged each time the ad is displayed or clicked for both use of thelicensed content comprising the ad and the display of the ad at thedesignated location. The advertiser can easily manage an online adcampaign based on a budget, geographical region and tracking detailssuch as click-through rate, and sales rate, as shown in the systemadvertiser account screen. The system allows for targeted advertisingwith increased flexibility, as the ad placement and selection fordisplay is not limited to any search system or technology.

FIG. 36 describes the system process flow in an embodiment wherein thebillboard module is embedded an informational website. FIG. 37 describesthe system process flow in an embodiment wherein the billboard module isembedded in a search engine screen. FIG. 38 describes the system processflow in an embodiment wherein the billboard module is embedded in amobile device such as a cellular phone. FIG. 39 describes the systemprocess flow in an embodiment wherein the billboard module is embeddedin an electronic billboard.

FIG. 40 depicts a sample system user screen for position product/cataloginformation in the system, by advertiser that do not have their owne-commerce capability can sell their products to users that view theiradvertisements. Advertisers click on “post” to post their productinformation creating their own e-commerce catalog in the system and thenconnect their products to their ads, with the system providing thefunctionality to process orders, purchases and payment electronically.FIG. 41 depicts a sample system screen showing the posted products ofadvertisers. FIG. 42 depicts an information and selection page for thesame products. When a viewer of the ad clicks on “buy,” the system addsthe item to a system electronic shopping chart and then completesprocessing of the purchase transaction, including payment processing.FIG. 43 shows a sample checkout payment screen. Various options forpayment exist such as, without limitation, check, credit card, paypal orother forms of payment.

Embodiment Including Content Rendering Control

According to a preferred embodiment hereof, the present inventionfurther includes a system and method for controlling the activation ofbillboard modules and thereby controlling the rendering of ad content onad publishers' ad content display pages whereby content is rendered onlyif and/or to the extent that a designated portion of the ad contentdisplay page area (the “ad content display page triggering area”) iswithin, or within a pre-defined distance outside of, the viewer'sbrowser window dimensions and scrolling position. The pre-defined adcontent display page triggering area can, in a preferred embodiment, bethe area of the ad content display page where the content is to berendered, i.e., the billboard module location on the ad publisher's adcontent display page. Billboard modules are activated, real timeauctions are run and the winning advertiser bidder's designated adcontent is requested, delivered and rendered automatically andsequentially for pre-defined areas of the ad content display page thatcome within the dimensions and scrolling position of the viewer'sbrowser window as the viewer scrolls across or down the content displaysite page without further viewer click action or other action beingrequired. Furthermore, billboard module activation can be controlled toactivate only when and to the extent that the viewer's browser windowarea corresponds with ad content display page area where particularbillboard module is located rather than rendering an entire ad contentdisplay page when only a portion is within the viewer's browser windowdimensions and scrolling position, resulting in greater efficiency inbandwidth and other communications resource utilization. In a preferredembodiment, the computer and communications network is the Internet andthe ad publishers' ad content display sites are websites, but thisembodiment of the present invention is not limited to any particularcommunications network or content display site.

The system in such embodiment further includes a system for controllingthe activation of billboard modules, and thereby controlling therendering of ad content via an electronic communications network at adesignated content rendering area of an ad content display page to oneor more viewers having a network communications device with a browsersoftware application with adjustable window dimensions and scrollingposition, for viewing ad content display pages within said browser'swindow dimensions and scrolling position. The control system uses thesystem end computer equipped and configured for communications via saidelectronic communications network, including one or more computerprocessing units, and means for communicating with one or more adpublisher ad content display pages that have one or more of saidbillboard modules located at one or more ad content rendering areas andone or more ad content display page triggering areas on said pages, anda system dispatcher server including a database that stores one or morerecords containing data pertaining to said one or more ad contentdisplay pages, said one or more ad content display page triggeringareas, said one or more billboard modules located at said one or more adcontent display page rendering areas and said one or more content files,said content files being stored in one or more content file servers, andone or more network communications interface software applications forreceiving from system users data designating one or more ad contentdisplay pages, one or more billboard modules located at said one or moread content display page rendering areas within said one or more adcontent display pages, one or more ad content display page triggeringareas that, when determined to be within, or within a pre-defineddistance outside of, an ad content display page viewer's browser windowdimensions and scrolling position, will result in activation of said oneor more billboard modules, causing a real time auction to occur and thewinning advertiser bidder's designated ad content being rendered in saidad content display page rendering area. The system software applicationsfor creating and writing to or otherwise embedding on said designated adcontent display page a correlator code to determine when said designatedad content display page triggering area is within, or within apre-defined distance outside of, a content viewer's browser windowdimensions and scrolling position, for dynamically generating a markerfor said designated ad content display page rendering area, and forcommunicating with said correlator code to cause said one or morebillboard modules to be activated, causing such real time auction(s) tooccur and causing the winning advertiser bidder's designated ad contentfiles to be rendered in said one or more billboard module ad contentdisplay page rendering areas when said correlator code detects that saiddesignated ad content display page triggering area is within, or withina pre-defined distance outside of, said content viewer's browser windowdimensions and scrolling position. The marker may be HTML code orcoordinates in the correlator code, or can be created by other means forcreating a page area marker.

The system in embodiments including content rendering control includescomputer processing means such as one or more conventional computerprocessing units and microprocessors and one or more Internet or othernetwork communications interface software applications for interfacingwith system users (i.e., advertisers and ad publishers (in thisembodiment, as the ad content display page administrators), as well asad content licensors) providing a graphical user interface for system adpublisher users to enter data regarding their ad content displaypage(s), and designation of the ad content display page triggeringarea(s) that will trigger billboard module activation when such adcontent display page areas are within, or within a pre-defined distanceoutside of, the viewer's browser window dimensions and scrollingposition, and ad content files to be rendered. Content display sites canaccess the system and enter registration information and provideinstructions to cause billboard modules to be activated when the adcontent display page area where the billboard module is located, or whenspecified areas of their ad content display pages are within, or withina pre-defined distance outside of, the viewer's browser windowdimensions and scrolling position, and obtain a JavaScript tag and linkfor placement on the ad content display page where the billboard moduleis located, which tag establishes communications with the system sideserver when a viewer initially requests the particular ad contentdisplay page. The system server-side application receives the JavaScripttag request, retrieves from the system database the data recordcorresponding to the requested page and retrieves viewer and browseraddress and other data from the viewers' browser request itself, andgenerates the custom correlator code to control billboard moduleactivation, and thereby controls ad content rendering, to activate thedesignated billboard module when and/or only to the extent that thepre-defined area of the ad content display page is within, or within apre-defined distance outside of, the viewer's browser screen dimensionsand scrolling position. The correlator code is generated for eachviewer's request of the particular ad content display page and iscustomized for each viewer in that its functioning is tied to eachspecific viewer's browser window dimensions and scrolling position, butmay be customized by a web administrator and placed directly on the pagewithout the use of the server side application. The correlator code iswritten to or otherwise embedded on the ad content display page. Thecorrelator code determines whether the page coordinates of thepre-defined area of the ad content display page correspond with thecoordinates of the viewer's browser window dimensions and scrollingposition. The correspondence may be partial or full or can becorrespondence with coordinates that are a pre-defined distance outsideof the viewer's browser window dimensional and scrolling positioncoordinates. The correlator code collects additional information fromthe viewer's browser, including, without limitation, the viewer'soperating system and browser type/version, and a list of other contentthat was already rendered on the page to prevent duplication of the samecontent on the ad content display page, among other data and preferablyalso indexes the page for content and whether the browser window isopen, minimized, tabbed away from or otherwise covered by anotherbrowser window or other application opened by a viewer. The correlatorcode dynamically generates a marker for the ad content display page areawhere the content will be rendered. The marker may be HTML, code orcoordinates in the correlator code, or can be created by other means forcreating a page area marker. The system correlator code then generates aquery string link including the data collected via the correlator codeand server-side application and the query string link is stored as avariable on the ad content display page. When the pre-defined contenttriggering page area is also the area of the page where the designatedbillboard module is located, i.e., where the ad content is to berendered, the designated billboard module can be activated only when thecorrelator code determines that the designated billboard module on thead content display page is within, or within a pre-defined distanceoutside of, the viewer's browser screen dimensions and scrollingposition. The correlator code periodically determines whether there isany correspondence between ad content display page area coordinates andbrowser screen dimension and scrolling position coordinates and when therequired correspondence is detected (which may be partial or fullcorrespondence, or correspondence with coordinates that are apre-defined distance outside of the viewer's browser window dimensionsand scrolling position, as desired and as designated by system users oras programmed into the system), the correlator code activates the querystring link, passing the information associated with the query string tothe designated billboard module thus activating the billboard module andcausing the real time auction to occur, which can consider theinformation passed to the module, and causing the winning advertiser'sdesignated ad content to be retrieved and rendered, or other action tobe triggered. Viewers can access content sites and ad content displaypages by existing or future means, such as via a viewer-end computerconfigured and equipped for Internet and communicating with said contentdisplay site. The electronic communications network used in thisembodiment can be as with the rest of the system, one or more ofmultiple network types, such as, without limitation, networks ofcomputers communicating via common protocols such as the Internet, aswell as cellular, wireless, cable, satellite, power line or othernetworks or combinations of such networks. Viewer-end communicationdevices can be a typical microprocessor-based desktop or laptopcomputer, or a personal digital assistant wireless phone or otherelectronics network communication device, typically having amicroprocessor supported by a read only memory, a random access memoryand input and output devices such as display screens andkeyboards/keypads, capable of running a browser application. Viewersaccess the particular network typically via a telecommunications serviceprovider (e.g. an Internet service provider) and use a browserapplication to access websites.

The content files are not limited to any particular form, and may bestatic HTML, images or rich media files such as .swf. The content filesare preferably stored at a content server. The interface means,processor means and computer communications means can have variousembodiments, including, without limitation, use of traditional Internetbrowser applications.

The method of the embodiment of the present invention that includesbillboard module activation control comprises the steps of: designatingone or more ad content display pages, one or more ad content displaypage triggering areas, one or more billboard modules that communicatewith a system end dispatcher server to retrieve one or more ad parameterand command files containing commands, parameters and instructions toretrieve, assemble and render one or more designated ad content filesstored at one or more ad content servers at said designated ad contentdisplay page rendering areas of said ad content display page or othernetwork location where said one or more billboard modules are located;storing as a record within a system-side database data pertaining tosaid ad content display page, ad content display page triggering areaand billboard module; generating and writing to or otherwise embeddingon the designated ad content display page a tag/link that when activatedby an ad content display page viewer request of the designated adcontent display page, links to a system server-side application andretrieves, via said server-side application, data from said recordstored in said system server-side database and data pertaining to saidviewer and viewer browser from said ad content display page request, andgenerating and placing a correlator code on the designated ad contentdisplay page which determines whether said ad content display pagetriggering areas of the ad content display page is within, or within apre-defined distance outside of, the viewer's browser window dimensionsand scrolling position; said correlator code then generating a markerfor the designated ad content display page rendering area, generating aquery string and link for placement at the ad content display page,which based on detection that the designated ad content display pagetriggering area is within, or within a pre-defined distance outside of,the dimensions and scrolling position of the viewer's browser window,passing the information associate with it and activating the designatedbillboard module causing a real time auction to occur, which canconsider the information gathered and passed to the module and causingthe winning advertiser's designated ad content to be rendered in thedesignated billboard module ad content display page rendering area ofthe ad content display page where the billboard module is located. FIGS.54 -A and 54-B, discussed further below, depict the process flow of themethod in a preferred embodiment.

Referring to FIG. 51 , which depicts a diagrammatical overview of theinterplay and overlap of a viewer's screen display area, browserapplication, browser window and ad content display page, there is acontent display page 21 with space on its pages for content to berendered, which appears within a browser window 41, a portion of whichis within the viewer's display screen area 31. As can be seen, the adcontent display page is larger than the browser window, so not all ofthe ad content display page area is within the browser window dimensionsand scrolling position shown on the viewer's display screen. In thisembodiment the activation of billboard modules can be controlled so thatonly the billboard module that is designated to activate when apre-defined area within the ad content display page area is within, orwithin a pre-defined distance outside of, the viewer's browser windowdimensions and scrolling position is activated, and so that billboardmodule activation occurs only when such pre-defined ad content displaypage triggering area is within, or within a pre-defined distance outsideof, the viewer's browser window dimensions and scrolling position.

Referring now to FIG. 52 , an overview of system interactions in thisembodiment with one or more ad publisher ad content display page viewercomputer systems or other communications devices having a browserapplication 22, 33, 44 and nnn, and communicating via the Internet 112with the ad content display page computer system 101. The ad publisherad content display page computer system 101 comprises an ad contentdisplay page server 121 and file storage device 211 as with the typicalInternet client-server model utilizing HTTP. HTTP is a known applicationprotocol that provides users access to content in different formats suchas text, graphics, images, sound, video, as well as programs. HTML is astandard page description language which provides basic documentformatting and allows the programmer to specify links to other serversand files. Links are specified via a Uniform Resource Locator or URL.Upon specification of a link, the client makes a TCP/IP request to theserver and receives information that was specified in that URL (forexample another Web page that was formatted according to HTML) inreturn. The information returned may be generated in whole or in part bya program that executes on the server. Such programs are typically knownas Common-Gateway-Interface scripts and can be written using knownprogramming languages or methods that the server supports. A typical Webpage is an HTML document with text, “links” that a user may activate(e.g. “click on”), as well as embedded URLs pointing to resources (suchas images, video or sound) that the client must fetch to fully renderthe Web Page in a browser. These resources may not be located on thesame server that the HTML document was sent from. Furthermore, HTTPallows for the transmission of certain information from the client to aserver. This information can be embedded within the URL, can becontained in the HTTP header fields, or can be posted directly to theserver using known HTTP methods. Both the viewer and the ad publisher asthe ad content display page administrator can communicate with thesystem via various input and output devices, as previously described.System computer components are as described previously with reference toFIG. 2 .

The system in this embodiment includes, either as an additionalgraphical interface or as part of the overall system graphical userinterface, a graphical user interface for system users, e.g.,advertisers and ad publishers as ad content display page administrators,to create a system account, register the ad content display page and thearea of the ad content display page where a billboard module is to belocated and the area of the ad content display page that will cause thebillboard module to be activated when such area is within the viewer'sbrowser window dimensions and scrolling position, and providedemographic and other pertinent information regarding the ad contentdisplay page and information pertaining to the billboard module to beactivated in the designated page area. The ad content display pagetriggering area and the ad content display page rendering area where thebillboard module is located can be the same or different areas of the adcontent display page. The information is stored as a record in thesystem server-side database, and the system generates a single tag andlink, preferably a JavaScript tag, with the link linking to the systemserver-side software application, to be placed by the ad publisher asthe ad content display page administrator at the ad content display pagewhere the specified billboard module is located (although thepositioning of the tag/link can be anywhere on the ad content displaypage, not necessarily in the location of the page where the billboardmodule is located). When the ad content display page where theJavaScript tag and link is written/embedded is requested by a viewer viathe viewer's browser, the link to the system server-side application isactivated and the system server-side application retrieves thecorresponding record stored in the system database for the ad contentdisplay page and retrieves viewer and browser data from the page requestitself. The system server-side software application then generates thecustom correlator code. This correlator code assigns a unique ID to theparticular viewer/browser and generates a marker for the ad display pageare where the billboard module is located. The marker may be HTML, codeor coordinates in the correlator code, or can be created by other meansfor creating a page area marker. The correlator code also generates aquery string link that includes the data collected via the correlatorcode and stores the query string link as a variable on the ad contentdisplay page. The correlator code includes the variables and functionsto execute the browser window/ad content display page area correlating,based on the positional coordinates of said ad content display pagetriggering area and the positional coordinates of said viewer's browserwindow dimensions and scrolling position. When the correlator codedetermines that the designated ad content display page triggering areais within (or within a pre-defined distance outside of) the dimensionsand scrolling position of the viewer's browser window, the query stringlink stored as a variable on the ad content display page is activatedand a JavaScript tag is created that can execute any number of actions,including, but not limited to, generating JavaScript functions toinitiate actions and HTML tags to request content or activate abillboard module, causing a real time auction to occur and for thewinning advertiser bidder's designated ad content to be rendered in thedesignated ad content display page rendering area where the billboardmodule is located.

In a preferred embodiment, during the registration process the adpublisher, as the ad content display page administrator, entersinformation related to the ad content display page such as name of page,content data, the specific area of the ad content display page that willtrigger content rendering when it is partially or completely within, orwithin a pre-defined distance outside of, the viewer's browser windowdimensions and scrolling position, the specific area of the ad contentdisplay page where the billboard module is located (which can be thesame as or different from the ad content display page triggering area),and demographic and other information pertaining to the ad contentdisplay page. The system then saves this data as a record in the systemserver relational database, and assigns the record an id, which may beencrypted. The system then generates JavaScript code comprising a singletag with the encrypted ID, with a link to the system server-sideapplication, and the ad publisher/ad content display page administratorplaces this single tag/link on the ad content display page.

When the webpage containing the JavaScript tag is requested by a viewer,the JavaScript tag link that contains an encrypted ID of the stored datarecord at the system database in its query string triggers theserver-side software application. This custom server side softwareapplication is preferably housed in the system server and can be writtenin C#, PHP or any other appropriate programming language. When thetag/link is a JavaScript tag/link, the server-side application disguisesitself as JavaScript in order to respond to the JavaScript tag'srequest, and collects a variety of information from the request such asdomain/address of the ad content display page, the IP address associatedwith the viewer, and other information from the stored data for the adcontent display page, such as information regarding the billboard moduleto be activated, rendering area size, previously entered ad contentdisplay page demographics and other information retrieved from thesystem's relational database.

According to this initial information, as a response, the server sideapplication generates and prints on the ad content display pageadditional JavaScript code that dynamically creates on the ad contentdisplay page a placeholder or marker for the area of the ad contentdisplay page, where the billboard module is located and contains all thenecessary variables and functions to execute the billboard moduleactivation and thereby the rendering control and data gathering processdescribed herein from the viewer's browser and the ad content displaypage, correlating billboard module location on a content display pagewith viewer browser window dimension and scrolling position data. Themarker may be HTML, code or coordinates in the correlator code, or canbe created by other means for creating a page area marker. This codealso collects additional information available from the viewer's browsersuch as the viewer's operating system, browser version, as well as aunique browser/user computer id that is assigned to the particularviewer/browser, which can be created by the correlator code itself, orcan be created by the system server-side software application andretrieved from cookies or from the system database.

The correlator code also gathers the most frequently occurring words inthe ad content display page text (for ad content display page indexing),and a list of other content that was already rendered on the page toprevent duplication of the same content on the page, whether the browserwindow is open, minimized, or otherwise covered by another browserwindow or other application opened by a viewer. and other specificfiltering and management, for instance while rendering an image in onecontent rendering it may be preferred to stop loading video in anothercontent rendering and/or custom information previously stored incookies, and information collected from the ad content display page. Aquery string link is then created and all collected information isattached. Then this query string which is stored as a variable on theweb page. A webpage or other ad content display page may be divided intoor otherwise contain any number of pre-defined designated billboardmodule content rendering areas and the system can monitor if any ofthose pre-defined content rendering areas of the ad content display pageare within the dimensions and scrolling position of the viewer's browserwindow. If any of the pre-defined billboard module content renderingareas come within, or within a pre-defined distance outside of, theviewer's browser window dimensions and scrolling position, the querystring link that is stored as a variable on the page is activated,activating the billboard module, and passing all of the informationassociated with the query string to the module. The ad content displaypage area/browser dimension and scrolling position correlator codecommunicates with the billboard module as well as the ad content displaypage and the browser.

Content rendering activity information is sent in the form of aself-contained file, preferably to the system tracking server.Preferably, such file is a flash file identified by the . SWF suffix orany comparable code such as, without limitation. .net, .asp or AJAX, aspreviously described. It is to be understood that under the teachings ofthe present invention, any type of file that is capable of operationwithout the initiation of an additional application could be used inplace of

Flash and the .swf file and use of a .swf file is not a limitation ofthe present invention. The billboard module does not perform thefunction of the correlator code; instead, the correlator code exists andfunctions as described above and when it detects the correspondencebetween the pre-defined ad content display page triggering area and theviewer's browser window dimensions and scrolling position, it triggersthe billboard module, which causes a real time auction to occur for thedesignated advertisement placement and causes the winning advertiserbidder's designated ad content files to be rendered, instead oftriggering content rendering directly. Enhanced viewer activity trackingcan be enabled by use of a .swf or other self-contained applicationdescribed herein as the billboard module embedded in the ad contentdisplay page, when the correlator code determines that the contentrendering area where the billboard module is located is within (or iswithin a pre-defined distance outside of) the viewer's browser windowdimensions and scrolling position, which includes all necessary code tocommunicate with the correlator code, a content server and the systemserver or tracking server. The billboard module then renders contentwithin itself and communicates back to the correlator code and trackingserver that the content has been fully rendered. The correlator codedescribed above continuously communicates with the browser and web pageto correlate the coordinates for the pre-defined ad content display pagetriggering area of the web page within the viewer's browser windowdimensions and scrolling position, in addition to whether the browserwindow has been minimized, tabbed away from or otherwise covered byanother application window, and communicates the information to thebillboard module. The messages can be sent to the billboard modulecontinually in pre-defined increments, such as every second, or fractionof a second, essentially communicating to the billboard module how manyseconds the area of the webpage is available in a viewer's browserwindow. In addition, the billboard module itself continues to collectinformation related to the content rendered, including, but not limitedto, clicks, videos watched, and other data. The billboard module thensends the information it is collecting to the system server or trackingserver at pre-defined intervals (information can be sent immediately, orcollected and sent). All of this information can be sent from thebillboard module to the system server or tracking server(s) and can bestored in the system (or other) database(s) using file server directconnection communication or FSDC technology. Tracking information can besent to a tracking server for storage and retrieval by system users.Content rendered via the billboard module can communicate, via thebillboard module, with the web page area/browser window dimensions andscrolling position correlator code with useful effect; for example, avideo may be part of the advertisement rendered at the designated adcontent display page area via the billboard module and upon viewer'sclick on an optional video preview button the same correlator codecreates another dynamic layer above all the existing layers on the webpage that covers a certain portion of the viewable area of the browserwindow to show content/video above the content of the page. The same adcontent display page area/browser dimension and scrolling positioncorrelator code tracks how many times content was rendered at aparticular billboard module and how many other billboard modules aredesignated on an ad content display page but are not in view because thearea on the ad content display page where such billboard module islocated was not within, or not within a pre-defined distance outside of,the dimensions and scrolling position of the viewer's browser window ordid not completely render for a certain period of time, or if thebrowser window the module resides on is open, minimized, tabbed awayfrom or otherwise covered by another browser window or other applicationopened by a viewer. The same web page area/browser window dimensions andscrolling position correlator code can also keep track of billboardmodule Id's to prevent duplication of content on the same page. The samecorrelator code also may store the collected and or custom informationin cookies using the website domain for the page where the contentrendering area is located and may request it later and send thisinformation, when needed, to the domain of the system server fortracking and reporting. This feature is optional and designed tooptimize the process, for if information previously gathered in cookiescan be saved and retrieved when a viewer returns to the web page thereis no processing unnecessarily repeated by the system. It is importantto note here that if optional cookies are utilized by the system, theyare saved by the ad content display page/website itself, andconsequently attributed to the ad content display page/website's domain,not the billboard module system server domain, so the cookies are notconsidered “third party” or data mining cookies that are typicallyflagged or blocked by web security applications. When a viewer leaves orcloses the ad content display page the correlator code indicates to allthe billboard modules that are then loaded how much time, if any, thattheir content has been rendered and sends this information to the systemserver or tracking server using FSDC and the data can be stored in asystem or other database. The record that is already stored is updated.

The correlator code described above periodically checks the location ofthe billboard module content rendering area location. The portion of thedesignated content triggering area that needs to fall within the browserwindow dimensions and scrolling position in order to initiate contentrendering can be varied, and may be customized by the systemadministrator. For example, the system may send a message that thecontent is available when 90% of the designated ad content display pagetriggering area is within the viewer's browser window dimensions andscrolling position, or is within a specified distance from the viewer'sbrowser window dimensions and scrolling position. The area/browserdimension and scrolling position correlator code at the ad contentdisplay page can send these messages to a billboard module or serverside application continually in pre-defined increments, such as, forexample, every second, or fraction of a second, communicating to thedimensions and scrolling position of the viewer's browser. The billboardmodule then sends the information it is collecting from the contentrendering area/browser dimension and scrolling position correlator codeto the ad dispatcher database, which is preferably housed in the serverfor tracking at pre-defined intervals (information can be sentimmediately, or it can be collected and sent periodically).

The system is preferably made available to website operators via asystem website for use by them after registering as a website contentadministrator. Referring to FIGS. 54 -A, 54-B and 54-C, which show theprocess flow of this embodiment of the present invention, as shown inFIG. 54 -A, an ad publisher as an ad content display page administratoraccesses the system, which is preferably accessible via the Internet asa website, and is presented with the system graphical user interfacescreens, beginning with a registration screen. FIG. 56 depicts a samplesystem ad publisher/ad content site administrator user registrationscreen whereby a ad content display page administrator can register withthe system. FIG. 57 depicts a sample system login screen. As shown inFIG. 54 -A, ad content display page administrators first register withthe system 101 as a content display site administrator and enter datapertaining to the ad content display page, the ad content display pagetriggering area that will trigger billboard module activation when it iswithin, or within a pre-defined distance outside of, the viewer'sbrowser window dimensions and scrolling position, the area of the adcontent display page where the designated content will be rendered(which may be the same area as the area of the ad content display pagethat will trigger billboard module activation when such area is within,or within a pre-defined distance outside of, the viewer's browser windowdimensions and scrolling position), as well as designating the contentto be rendered in a particular area of the ad content display page, adcontent display page demographics and other pertinent information 201.The system user interface screens provide means for receiving from adcontent display page administrators the ad content display page address,content file information (which may be in the form of instructions toretrieve one or more content files stored in a content server or storagedevice), billboard module data and content display area parameters andother ad content display page data from ad content display pageadministrators and system server with a database for storing one or morerecords containing such data, each record being given an identificationcode. FIG. 58 depicts a sample system user registration screen showingdata entry relating to ad content display page title, uniform resourcelocator address and optional logo image. FIG. 59 depicts a sample userregistration screen whereby ad content display page administrators entertheir ad content display page's primary audience geographic location. Adcontent display page administrators can select the geographic regionthat represents the location of the ad content display page's primaryaudience, if any. FIG. 60 depicts a sample user registration screenwhereby ad content display page administrators enter their ad contentdisplay page's content type. FIG. 61 depicts a sample user registrationscreen whereby ad content display page administrators enter their adcontent display page audience demographic data. FIG. 62 depicts a samplead content display page registration confirmation screen. FIG. 63depicts a sample ad content display page billboard module creationscreen in this embodiment of the invention including billboard moduleactivation control. Ad content display page administrators can designatea billboard module ad content display page rendering area for a adcontent display page by entering a name for the billboard module locatedat such ad content display page rendering area, selecting a previouslyregistered ad content display page, and designating content distributionparameters. FIG. 64 depicts a sample billboard module ad content displaypage rendering area dimension selection screen in this embodiment of theinvention including billboard module activation control, whereby adcontent display page administrators can select one or more pre-setbillboard module ad content display page rendering area dimensions. FIG.65 depicts a sample billboard module ad content display page renderingarea dimension specification screen where ad content display pageadministrators can enter customized ad content display page billboardmodule rendering area dimensions and position parameters.

Referring to FIG. 54 -A, the above-referenced data is then saved by thesystem as a data record in the system database and an identificationcode is assigned to the data record 301, as shown in FIG. 65 . Thesystem software applications then generates a JavaScript tag with thelink to the system server-side application including the ID of therecord stored in the system database pertaining to the particular adcontent display page, billboard module and rendering area 400, and thead content display page administrator places the JavaScript tag and linkon the ad content display page 500. The tag includes the identificationcode for the corresponding record stored in the system database and alink to a system server-side application. FIG. 66 depicts a samplescreen wherein a JavaScript tag with link to the system server-sideapplication is generated for ad content display page administrators tocopy and paste into the page code of the ad content display page inwhich the designated billboard module resides.

As shown in FIG. 54 -B, when an ad content display page viewer requeststhe ad content display page that has such JavaScript tag and link 600,the request activates the link to the system server-side application andthe system application collects a variety of information from theviewer's HTTP request, including, but not limited to, the address of thead content display page and the viewer's network address (for example,the Internet Protocol address associated with the viewer when thenetwork is the Internet) 700, and retrieves the corresponding datarecord stored in the system server database, and generates code,preferably JavaScript code, referred to as a “correlator code,” which iswritten to or otherwise embedded on the ad content display page. Thiscorrelator code then dynamically generates on the ad content displaypage a marker for the billboard module ad content display page areawhere the content will be rendered 800. The marker may be HTML code orcoordinates in the correlator code, or can be created by other means forcreating a page area marker. The correlator code can be positionedanywhere on the ad content display page, not necessarily the location onthe ad content display page where the particular billboard module islocated. A unique identification code is then assigned to the particularviewer/browser which can be created by the correlator code itself, orcan be created by the system server-side software application and beretrieved from cookies or from the system database. The correlator codecollects additional information from the viewer's browser, including,without limitation, the viewer's operating system and browsertype/version, the most frequently occurring words in the web page text,and a list of other content that was already rendered on the page toprevent duplication of the same content on the ad content display page,among other data 900. The correlator code application then generates aquery string link including the data collected via the correlator codeand the query string link is stored as a variable on the ad contentdisplay page 1000. The correlator code periodically checks viewerbrowser screen coordinate data from the viewer's browser applicationwith ad content display page coordinates for the ad content display pagetriggering area. FIG. 54 -B and FIG. 54 -C provides a diagrammaticalrepresentation of the communication flow between system components, adcontent display page administrators and ad content display page viewersin an embodiment that includes a billboard module. The various arrowsindicate the flow of communication between system components as thesystem operates, as explained below. As a viewer scrolls through a adcontent display page (whether up and down or left and right) or theviewer's browser window dimensions change, the correlator codeperiodically checks the viewer's browser window scrolling position anddimensional coordinates and when there is correspondence (either partialor full, as has been designated or programmed into the system) betweenthe browser window coordinates and the coordinates for the pre-definedad content display page triggering area (or between coordinates that area pre-defined distance outside of the viewer's browser windowdimensional and scrolling position coordinates) 1100, the query stringlink is activated 1200 passing the information associated with it andactivating the billboard module, causing a real time auction to occur1300, which can consider the information passed to the module and causethe winning advertiser bidder's designated ad content to be rendered inthe billboard module 1400. The correlator code also records at the adcontent display page data retrieved from the viewer's browser regardingthe rendering of the content, including, but not limited to the IPaddress associated with the viewer, browser and operating systemversion, unique identifier assigned by the server side application andinformation related to the text on the web page. The communication flowbetween system components is indicated in FIG. 53 by the arrows: Adpublishers, as ad content display page administrators, 101 register adcontent display page data with the system server 126 and the informationis stored as a data record in the system database which resides in thesystem server, with a tag/link sent back from the system to the adcontent display page administrator 101 (as indicated by the arrowsbetween ad content display page administrator 101 and system database),who then places such tag/link on the ad content display page (asindicated by the arrow from ad content display page administrator 101 tothe ad content display page 21 at “tag”). When a viewer requests the adcontent display page 21, the tag links to the custom application (asindicated by the arrow from tag to custom application), the customapplication retrieves data from the database (as indicated by the arrowsbetween custom application and system database). The custom applicationthen generates the correlator code and it is written to or otherwiseembedded on the ad content display page (as indicated by the arrow fromthe custom application to the correlator code box in the ad contentdisplay page 21). The correlator code communicates with the ad contentdisplay page 21 and with browser 11 as indicated by the arrows betweensaid elements and also dynamically generates a marker for the billboardmodule, (as indicated by the arrow between the correlator code and thebillboard module boxes).

When the designated ad content display page triggering area (which maybe the same as the billboard module ad content display page renderingarea) is determined to be within the viewer's browser window dimensionsand scrolling position, the billboard module is activated. Thecorrelator code in this embodiment activates the billboard module .swfor other file (which can be comparable code such as .net .asp, AJAX orother form that contains all the necessary code to communicate with thecorrelator code on the webpage, retrieve and render content from aremote content server and send and retrieve data and variables from aremote server or servers). As shown in FIG. 54 -C, the request containsthe previously stored query string with unique ID of the billboardmodule content rendering area stored in a remote server and theinformation previously collected by the system database and correlatorcode 1200 (all of which is passed to the module). The billboard moduleset inside the ad content display page rendering area is initiated andestablishes communication with the correlator code on the ad contentdisplay page where it is embedded as well as the system server or anyremote server with the appropriate network protocol 1300. The billboardmodule then sends a request to the content server where the designatedcontent files are located or to a database where a command and parameterfile is stored with commands and parameters to retrieve, assemble andload the designated content files, and the content is rendered withinthe module area 1400. The billboard module then checks if all of theelements of the content are loaded and rendered and communicates thatthis is so to the correlator code 1500, and to the system databaseresiding in the system server. The correlator code continues to monitorthe location of the billboard module ad content display page renderingarea and once it receives a signal from the billboard module that thecontent is loaded and rendered it communicates back to the billboardmodule whether it is within the viewer's browser window dimensions andscrolling position or not 1600. The billboard module then sendsinformation it is collecting via the correlator code to a systemdatabase, residing in the system server for reporting, preferably usingFSDC 1700. The correlator code can communicate directly back to thesystem database with data retrieved from the browser and ad contentdisplay page (as indicated by the arrow from the correlator code back tothe system database). The communication flow between system componentsis indicated in FIG. 55 by the arrows: Ad content display pageadministrator 101 registers ad content display page data with the systemserver 126 and the information is stored as a data record in the systemdatabase which resides in the system server, with a tag/link sent backfrom the system to the ad content display page administrator 101 (asindicated by the arrows between ad content display page administrator101 and system database), who then places such tag/link on the adcontent display page (as indicated by the arrow from ad content displaypage administrator 101 to the ad content display page 21 at “tag”). Whena viewer requests the ad content display page 21, the tag links to thecustom application (as indicated by the arrow from tag to customapplication), the custom application retrieves data from the database(as indicated by the arrows between custom application and systemdatabase). The custom application then generates the correlator code andit is written to or otherwise embedded on the ad content display page(as indicated by the arrow from the custom application to the correlatorcode box in the ad content display page 21). The correlator codecommunicates with the ad content display page 21 and with browser 11 asindicated by the arrows between said elements and also dynamicallygenerates a marker for the ad content display page rendering area (asindicated by the arrow between the correlator code and the ad contentdisplay page rendering area and billboard module boxes). When thecorrelator code determines that the ad content display page triggeringarea, which, in the case of FIG. 55 , is the billboard module ad contentdisplay page rendering area, the query string link that is stored as avariable on the ad content display page is activated and the correlatorcode dynamically activates the billboard module. The billboard modulewhen initiated establishes communication with the correlator code on thewebpage and the system database residing on the system server thenrequests, loads and renders content from a remote content server and thecontent is rendered in the billboard module ad content display pagerendering area (as indicated by the arrows between the ad contentdisplay page rendering area and the content server). The correlator codecommunicates in this embodiment preferably directly back to thebillboard module rather than directly to the system database, with thebillboard module then communicating back to the system database, withdata forwarded by the correlator code which was retrieved from thebrowser and ad content display page (as indicated by the arrows from thecorrelator code to the billboard module and from the billboard moduleback to the system file).

FIG. 67 depicts a sample ad content display page as presented to an adcontent display page viewer, with the billboard module content renderingarea of the ad content display page located below the viewer's browserwindow dimensions and scrolling position, noted by an oval indicator.Billboard module activation for the particular ad content rendering areais not yet triggered because the designated area of the ad contentdisplay page that must be within the viewer's browser window dimensionsand scrolling position is not yet within such dimensions and scrollingposition. FIG. 68 depicts a sample ad content display page with thebillboard module content rendering area entering the viewer's browserwindow dimensions and scrolling position. At this point, if thebillboard module is set to trigger when the designated area of the adcontent display page is partially within the viewer's browser windowdimensions and scrolling position, the correlator code would proceed toactivate the billboard module. FIG. 69 depicts a sample ad contentdisplay page with the content rendering area fully within the viewer'sbrowser window dimensions and scrolling position. As this point, if thebillboard module is set to trigger when the designated area of the adcontent display page is wholly within the viewer's browser windowdimensions and scrolling position, the correlator code would proceed toactivate the billboard module. FIG. 70 depicts a sample ad contentdisplay page with the content rendered and an indicator showing the timethat the content has been rendered. FIG. 71 depicts a sample ad contentdisplay page with the billboard module content rendering area partiallyoutside of the viewer's browser window dimensions and scrollingposition. As the designated ad content display page area that has to beeither partially or wholly within the viewer's browser window dimensionsand scrolling position is no longer within such dimensions and scrollingposition, the previously rendered content can be removed from the pageand/or be replaced with new content and content related to the adcontent display page area that is then within the viewer's browserscreen dimensions and scrolling position would be triggered forrendering. The system rendering counter stops counting when thepredefined page area is no longer within the viewer's browser windowdimensions and scrolling position, such as when a window is opened overthe browser window that is showing the ad, or the viewer minimizes thebrowser or tabs away from the page on a browser with tab features, andcan resume counting if the area returns within the viewer's browserwindow dimensions and scrolling position. The system users can log ontoa password protected system, preferably web-based interface and viewdetailed reports related to content rendered via the system. Reports maybe customized to reflect different time periods and different meta-data.Reporting features for website and other content publishers include, butare not limited to, information for rendering activity in particularwebsite page sections that shows, for example, the number of timescontent was rendered, the number of times content was within thedimensions and scrolling position of the viewer's browser window, theduration of time that content was within the dimensions and scrollingposition of the viewer's browser window, considering if the browserwindow was minimized, tabbed away from, or otherwise covered by anotherbrowser or application window, as well as data such as video viewed,video view duration, click to http destination, custom button clicks(such as print coupon, email), number of unique computer browser userseach content rendering was available to (reach) and how many times eachbillboard module content rendering was available to each unique computerbrowser user (frequency), the browser type of each viewer for which thecontent was rendered, and the general geographic location of each userthe content was available to (by ISP) and the percentage of the networkusers reached by billboard module content in a region or nationally.Other custom parameters not mentioned here may be reported. Reports maybe parsed by all web site sections or one website section/page orotherwise. FIG. 72 depicts a sample system ad content display page datareport screen showing the ad content display pages registered, datecreated, with the ad content display page triggering areas and billboardmodule ad content display page rendering areas that have been designatedindicated (see the column titled “billboards #”), and data retrievedsuch as number of times that the content related to a designatedbillboard module ad content display page rendering area has beenrequested, number of times that the content related to a designatedbillboard module ad content display page rendering area has beenrendered, the percentage of content rendering vs. content request,click-through rate and total number of clicks, and other contentrendering activity data. FIG. 73 depicts a sample system contentbillboard module rendering area data report screen showing contentrendering activity for specific ad content display page rendering areasof a ad content display page, including the billboard module contentrendering area dimensions, date created, number of times ad contentdisplay page area was requested, number of times the content designatedfor the particular billboard module has been rendered, and other adcontent display page rendering area activity data. FIG. 74 depicts asample system content rendering area activity report screen showing areport and bar graph of data pertaining to content rendered withinviewer browser screen dimensions and scrolling position in a givenperiod (a monthly period is indicated in the exemplary report shown inFIG. 74 ). FIG. 75 depicts a sample system content rendering area datareport screen indicating data pertaining to the viewers of renderedcontent, such as their Internet protocol address, as well as the numberof unique viewers and the content's reach and frequency of rendering.FIG. 76 depicts a sample system content rendering activity report screenshowing a graph and table of the content rendered, organized by contentname, including billboard module activation and ad content renderingdata for each, which ad content display page administrators can use toassess which billboard modules and/or which content is more oftenrendered than others. FIG. 77 depicts a sample system viewer browsertype data report screen providing information as to the types ofbrowsers being used by viewers to view rendered content. FIG. 78 depictsa sample system viewer geographic location report screen providinginformation regarding the location of the viewership of the renderedcontent. FIG. 79 depicts a sample general billboard module contentrendering area activity report screen providing information regardingthe ad content display pages and billboard module ad content displaypage rendering areas within said ad content display pages and theirrendering activity. FIG. 70 depicts a sample content rendered time datareport screen providing information regarding how long content wasrendered within a viewer's browser window dimensions and scrollingposition.

The system can be utilized to determine a viewer's browser windowdimensions and scrolling position to provide content scaled to size tobetter fit the viewer's browser window by including scaling factorreduction or enlargement based on the system server side application'scomparison of the designated billboard module ad content display pagerendering area for the content and the viewer's browser windowdimensions and scrolling position as determined by the correlator code.FIG. 81 depicts a sample ad content display page using the system todetermine viewer browser screen dimensions and scrolling position toprovide scaled rendering of content. FIG. 82 depicts a sample ad contentdisplay page showing content rendered scaled to a predefined size inrelation to the viewer's browser window dimensions and scrollingposition. FIG. 83 depicts a sample ad content display page showingcontent re-rendered and re-scaled to a predefined size in relation tomodified viewer browser window dimensions and/or scrolling position.

Also, the system in a preferred embodiment may estimate or forecast adcontent display page/ad content display page area inventory availabilityfor future specified periods helping content publisher optimally selland fill their content space inventory. Based on tracking data retrievedfor a specific time period regarding ad content display page/page areausage, the system can estimate activity for future time periods.

A sample of the JavaScript tag/link that is placed on the ad contentdisplay page that links to the system server-side software applicationwhen a viewer first requests an ad content display page is providedbelow: <script language=“javascript” type=“text/javascript”src=“http://cityads.net/display/?key=waCcZO4I1GInZjIdFQdSELCe4PcWdeXgGXkM-uaWqUPs%3d”></script>

A sample of a correlator code dynamically written to or otherwiseembedded on the ad content display page which functions to control thebillboard module activation based on whether the designated ad contentdisplay page triggering area is within, or within a pre-defined distanceoutside of, the viewer's browser window dimensions and scrollingposition, is provided below:

 var _viz_check = { xs1:0, ys1:0, xs2:1000, ys2:800, curtop:0,curleft:0, navigate:function( ) {  if( this.location[0]==“top” )this.location[0]=“bottom”;  else this.location[0]=“top”; },update:function( ) {  this.xs1 = this.getScrollLeft( );  this.ys1 =this.getScrollTop( );  this.xs2 =Number(this.xs1)+Number(this.getClientWidth( ));  this.ys2 =Number(this.ys1) +Number(this.getClientHeight( ));  var i=0;  while ( i< _i )   {    var adi = _adi[i];    if( adi != null)     {     adi.findPos( );      var x1 = adi.x;      var y1 = adi.y;      varx2 = Number(x1)+Number(adi.width);      var y2 =Number(y1)+Number(adi.height);      var vm = 20 ;      //  if(Number(adi.height) > 500) vm = 220 ;      if ( adi.done==0 ) {       if((x2>=this.xs1)&&(y2>=this.ys1)&&       (x1<=this.xs2)&&(y1<=this.ys2) ){        if ( (_popul==0) || (typeof [u_popul] !=        ‘undefined’) ){         _popul++;         adi.markwords = _marksfinder.get_words( );        adi.ea = _ea_list;         adi.populate( );        }       }     } else {      if (adi.rend==1) {       if ((x1>=(this.xs1−20))&&(y1>=(this.ys1−vm))&&(x2<=(this.xs2+20))&&(y2<=(this.ys2+vm)) ) {        if(adi.vid==0) {         if (adi.viz==0) {          if (adi.t >=1) {          adi.sec = 1;            _av(i,1) ;          }         }        else {          if ((adi.sec +1.1) <= adi.t) {           adi:sec++ ;           if (adi.sec < 61) _av(i, adi.sec) ;          }         if (adi.paused==1) {           adi.paused=0 ;           _pv(i);          }         }         adi.t +=0.1 ;        }       }       else{        if (adi.paused==0) {         adi.paused=1 ;         _sv(i) ;       }       }      }     }    }    i++;   }  },  findPos:function(p) {   curleft = curtop = 0;   var obj = document.getElementById(p) ;   if(obj.offsetParent) {    curleft = obj.offsetLeft    curtop =obj.offsetTop    while (obj = obj.offsetParent) {     curleft +=obj.offsetLeft     curtop += obj.offsetTop    }   }  },  //--- getClientWidth:function( ) {   var w1=0;   if( window.innerWidth )w1=window.innerWidth;   var w2=0;   if(document.documentElement)   w2 =document.documentElement.clientWidth;   if(w1<w2) w1=w2;   return w1; },  getClientHeight:function( ) {   var h1 = 0;   if(window.innerHeight ) h1 = window.innerHeight;   var h2=0;   if(document.documentElement )   h2=document.documentElement.clientHeight;  if(h1<h2) h1=h2;   return h1;  },  getScrollLeft:function( ) {   varsL1=0;   if( window.pageXOffset ) sL1 = window.pageXOffset;   var sL2=0;  if(document.documentElement)  sL2=document.documentElement.scrollLeft;   if(sL1<sL2) sL1=sL2;  return sL1;  },  getScrollTop:function( ) {   var sT1=0;  if(window.pageYOffset) sT1=window.pageYOffset;   var sT2=0;  if(document.documentElement)   sT2=document.documentElement.scrollTop;  if(sT1<sT2) sT1=sT2;   return sT1;  }, }

A sample of the code dynamically written to the ad content display pagethat indexes the web page text for the most frequently occurring wordsis as follows:

var _index = {  exc:[ “and”, “com”, “can”, “from”,“for”,“the”, “them”,“that”, “gif”,   “similar”, “page”, “www”, “with”,“which”, “hi”,“you”,“your”,“did”,“does” ], top_max:5, top:[“”,“”,“”,“”,“”],get_words:function( ) {   var s = “”;   for( var i=0; i<this.top_max;i++)    {     if( this.top[i]==“” ) break;     if(s.length>0) s += “,”;    s += this.top[i];    }    return encodeURI(s);   },  find_words:function( )   {    try{     try{      a=var_words;     }    catch(e1)     {      var txt = document.body.innerHTML.toLowerCase();      var sn = txt.split(/\<\s*script/);      for(var i=0;i<sn.length;i++)       {        var n = sn[i].search( /\<s*\/scripts*\>/);        if(n==−1) n=0;        var m = sn[i].indexOf(“>”,n)+1;       sn[i] = sn[i].substring(m);       }       txt = sn.join(“ ”);      var tst_msg = document.getElementById(‘tst_msg’);       txt =txt.replace(/(\<[{circumflex over ( )}\>]*\>)/g, “ ”);       txt =txt.replace(/(&.*\;)/g, “ ”);       txt = txt.replace(/[\W\d]/g,“ ”);      txt = txt.replace(/\s{1,}/g,“ ”);       txt =txt.replace(/\s\w\w\w\s/g,“ ”);       txt = txt.replace(/\s\w\w\s/g,“”);       txt = txt.replace(/\s\w\s/g,“ ”);       txt =txt.replace(/ies\s/g,“y ”);       txt = txt.replace(/ives\s/g,“fe ”);      txt = txt.replace(/ves\s/g,“f”);       txt =txt.replace(/([{circumflex over ( )}s])s\s/g,“$1 ”);      for(j=0;j<this.exc.length;j++)        {         var ex = newRegExp( “\\s”+this.exc[j]+“\\s”, “g”);         txt = txt.replace( ex,“”);        }        var w = txt.split(/\s+/);        w = w.sort( );       var t=“”, to=“”;        var k=1;        w = w.sort( );        varktop=[0,0,0,0,0];        while(w.length>0)         {          t =w.shift( );          if( t==to ) k++;          if(t!=to || w.length==0 )          {            for(j=0;j<5;j++)             {             if(k>ktop[j]){              this.top[j]=to;ktop[j]=k;break;}             }             k=1;             to = t;           }           }          }         }         catch( e )        {          document.write(          “Exception”+e.description+“<br>” );         }        }       }

While the present invention has been shown and described herein in whatare considered to be the preferred embodiments thereof, illustrating theresults and advantages over the prior art obtained through the presentinvention, the invention is not limited to those specific embodiments.Thus, the forms of the invention shown and described herein are to betaken as illustrative and other embodiments may be selected withoutdeparting from the spirit and scope of the present invention.

What is claimed is:

1. (canceled)
 2. A method for rendering advertisement content in an adcontent display page, wherein the ad content display page includes (i) apredefined area configured to display advertisement content, thepredefined area being a portion of the ad content display page, and (ii)page content displayed in other portions of the ad content display page,the page content being separate from the advertisement content, the adcontent display page being scrollable to allow a portion of the adcontent display page to appear in a visible area of a browser window ofa browser that is configured to be operated by a remote computingdevice, the method comprising: (a) determining whether a predefinedportion of the predefined area of the ad content display page is in thevisible area of the browser window; and (b) in response to adetermination that the predefined portion of the predefined area of thead content display page is in the visible area of the browser window,causing a communication to be sent from the remote computing device toone or more dispatcher servers, wherein the one or more dispatcherservers are configured to: (i) receive the communication, and (ii) causeadvertisement content to be served to the remote computing device,wherein the browser is configured to render the advertisement content inthe predefined area of the ad content web page, and wherein theadvertisement content first appears in the predefined area of the adcontent web page only after the one or more dispatcher servers serve theadvertisement content to the remote computing device and the browserrenders the advertisement content in the predefined area of the adcontent web page.
 3. The method of claim 2 wherein after the one or moredispatcher servers receive the communication, the one or more dispatcherservers further: (iii) cause advertisement content to be selected fordisplay on the ad content display page, wherein the selectedadvertisement content is then served to the remote computing device. 4.The method of claim 3 wherein the advertisement content is selected atleast partially as a result of an auction.
 5. The method of claim 4wherein the auction is conducted in real time between the time thecommunication is sent from the remote computing device and the time thatthe advertisement content is selected.
 6. The method of claim 2 whereinthe predefined portion is 90%.
 7. The method of claim 2 furthercomprising: (c) maintaining the same advertisement content that waspreviously rendered in the predefined area for at least a predefinedperiod of time during the time period that the predefined portion of thepredefined area of the ad content display page is in the visible area ofthe browser window.
 8. The method of claim 2 wherein the determinationthat the predefined portion of the predefined area of the ad contentdisplay page is in the visible area of the browser window occursperiodically.
 9. A system comprising: (a) at least one ad contentdisplay page configured to be served to a remote computing device,wherein the ad content display page includes (i) a predefined areaconfigured to display advertisement content, the predefined area being aportion of the ad content display page, and (ii) page content displayedin other portions of the ad content display page, the page content beingseparate from the advertisement content, the ad content display pagebeing scrollable to allow a portion of the ad content display page toappear in a visible area of a browser window of a browser that isconfigured to be operated by the remote computing device; (b)instructions in the form of code configured to: (i) determine whether apredefined portion of the predefined area of the ad content display pageis in the visible area of the browser window; and (ii) in response to adetermination that the predefined portion of the predefined area of thead content display page is in the visible area of the browser window,cause a communication to be sent from the remote computing device; and(c) one or more dispatch servers configured to: (i) receive thecommunication, (ii) cause advertisement content to be served to theremote computing device, wherein the browser is configured to render theadvertisement content in the predefined area of the ad content web page,and wherein the advertisement content first appears in the predefinedarea of the ad content web page only after the one or more dispatcherservers serve the advertisement content to the remote computing deviceand the browser renders the advertisement content in the predefined areaof the ad content web page.
 10. The system of claim 9 wherein the one ormore dispatch servers are further configured to: (iii) after receivingthe communication, cause advertisement content to be selected fordisplay on the ad content display page, wherein the selectedadvertisement content is then served to the remote computing device. 11.The system of claim 10 wherein the advertisement content is selected atleast partially as a result of an auction.
 12. The system of claim 11wherein the auction is conducted in real time between the time thecommunication is sent from the remote computing device and the time thatthe advertisement content is selected.
 13. The system of claim 9 whereinthe predefined portion is 90%.
 14. The system of claim 9 wherein theinstructions in the form of code are further configured to: (iii)maintain the same advertisement content that was previously rendered inthe predefined area for at least a predefined period of time during thetime period that the predefined portion of the predefined area of the adcontent display page is in the visible area of the browser window. 15.The system of claim 9 wherein the determination that the predefinedportion of the predefined area of the ad content display page is in thevisible area of the browser window occurs periodically.